Changeset 57510 in vbox
- Timestamp:
- Aug 24, 2015 1:09:47 PM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 102301
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/globals
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp
r57480 r57510 86 86 /* Notify listeners about host-screen available-geometry was calulated: */ 87 87 emit sigHostScreenAvailableGeometryCalculated(m_iHostScreenIndex, QRect(x(), y(), width(), height())); 88 89 /* Ask window for suicide: */90 deleteLater();91 88 } 92 89 … … 100 97 } 101 98 99 UIDesktopWidgetWatchdog::~UIDesktopWidgetWatchdog() 100 { 101 /* Cleanup: */ 102 cleanup(); 103 } 104 102 105 const QRect UIDesktopWidgetWatchdog::screenGeometry(int iHostScreenIndex /* = -1 */) const 103 106 { … … 129 132 m_cHostScreenCount = cHostScreenCount != -1 ? cHostScreenCount : m_pDesktopWidget->screenCount(); 130 133 131 /* Resize vector to new host-screen count: */ 134 /* Resize vectors to new host-screen count: */ 135 qDeleteAll(m_availableGeometryWorkers); 136 m_availableGeometryWorkers.clear(); 137 m_availableGeometryWorkers.resize(m_cHostScreenCount); 132 138 m_availableGeometryData.clear(); 133 139 m_availableGeometryData.resize(m_cHostScreenCount); … … 151 157 AssertPtrReturnVoid(pWorker); 152 158 { 159 /* Remember created worker: */ 160 if (m_availableGeometryWorkers.value(iHostScreenIndex)) 161 delete m_availableGeometryWorkers.value(iHostScreenIndex); 162 m_availableGeometryWorkers[iHostScreenIndex] = pWorker; 153 163 /* Get the screen-geometry: */ 154 164 const QRect hostScreenGeometry = screenGeometry(iHostScreenIndex); … … 172 182 /* Apply received data: */ 173 183 m_availableGeometryData[iHostScreenIndex] = availableGeometry; 184 /* Forget finished worker: */ 185 AssertPtrReturnVoid(m_availableGeometryWorkers.value(iHostScreenIndex)); 186 m_availableGeometryWorkers.value(iHostScreenIndex)->deleteLater(); 187 m_availableGeometryWorkers[iHostScreenIndex] = 0; 174 188 } 175 189 … … 184 198 } 185 199 200 void UIDesktopWidgetWatchdog::cleanup() 201 { 202 /* Cleanup connections: */ 203 disconnect(m_pDesktopWidget, SIGNAL(screenCountChanged(int)), this, SLOT(sltUpdateHostScreenConfiguration(int))); 204 disconnect(m_pDesktopWidget, SIGNAL(resized(int)), this, SLOT(sltRecalculateHostScreenAvailableGeometry(int))); 205 206 /* Cleanup existing workers: */ 207 qDeleteAll(m_availableGeometryWorkers); 208 m_availableGeometryWorkers.clear(); 209 } 210 186 211 #include "UIDesktopWidgetWatchdog.moc" 187 212 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.h
r57480 r57510 38 38 /** Constructs watchdog for the @a pParent being passed into the base-class. */ 39 39 UIDesktopWidgetWatchdog(QObject *pParent); 40 /** Destructs watchdog. */ 41 ~UIDesktopWidgetWatchdog(); 40 42 41 43 /** Returns the geometry of the host-screen with @a iHostScreenIndex. … … 62 64 /** Prepare routine. */ 63 65 void prepare(); 66 /** Cleanup routine. */ 67 void cleanup(); 64 68 65 69 /** Holds the desktop-widget reference pointer. */ … … 70 74 /** Holds current host-screen available-geometries. */ 71 75 QVector<QRect> m_availableGeometryData; 76 /** Holds current workers determining host-screen available-geometries. */ 77 QVector<QWidget*> m_availableGeometryWorkers; 72 78 }; 73 79
Note:
See TracChangeset
for help on using the changeset viewer.