Changeset 69615 in vbox
- Timestamp:
- Nov 8, 2017 1:04:15 PM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 118975
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
r69552 r69615 3324 3324 3325 3325 #ifdef VBOX_WS_X11 3326 void VBoxGlobal::setWMClass(QWidget *pWidget, const char *pStrName, const char *pStrClass)3326 void VBoxGlobal::setWMClass(QWidget *pWidget, const QString &strNameString, const QString &strClassString) 3327 3327 { 3328 3328 /* Make sure all arguments set: */ 3329 AssertReturnVoid(pWidget && pStrName && pStrClass); 3330 3331 /* Create duplicates to avoid casting away constness: */ 3332 char *pWindowName = strdup(pStrName); 3333 char *pWindowClass = strdup(pStrClass); 3334 AssertReturnVoid(pWindowName && pWindowClass); 3329 AssertReturnVoid(pWidget && !strNameString.isNull() && !strClassString.isNull()); 3330 3331 /* Define QByteArray object to make sure data is alive within the scope: */ 3332 QByteArray nameByteArray = strNameString.toLatin1(); 3333 QByteArray classByteArray = strClassString.toLatin1(); 3334 3335 AssertReturnVoid(nameByteArray.data() && classByteArray.data()); 3335 3336 3336 3337 XClassHint windowClass; 3337 windowClass.res_name = pWindowName;3338 windowClass.res_class = pWindowClass;3338 windowClass.res_name = nameByteArray.data(); 3339 windowClass.res_class = classByteArray.data(); 3339 3340 /* Set WM_CLASS of the window to passed name and class strings: */ 3340 3341 XSetClassHint(QX11Info::display(), pWidget->window()->winId(), &windowClass); 3341 3342 /* Free duplicates: */3343 XFree(windowClass.res_class);3344 XFree(windowClass.res_name);3345 3342 } 3346 3343 #endif /* VBOX_WS_X11 */ -
trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h
r69552 r69615 455 455 #ifdef VBOX_WS_X11 456 456 /** Assigns WM_CLASS property for passed @a pWidget. */ 457 static void setWMClass(QWidget *pWidget, const char *pStrName, const char *pStrClass);457 static void setWMClass(QWidget *pWidget, const QString &strNameString, const QString &strClassString); 458 458 #endif 459 459 -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineWindow.cpp
r69552 r69615 99 99 /* Compose window name: */ 100 100 const QString strWindowName = QString("VirtualBox Machine UUID: %1").arg(vboxGlobal().managedVMUuid()); 101 102 /* Assign it to both WM_CLASS name & class for now: */ 103 const char *pBuffer = strWindowName.toLatin1().constData(); 104 if (pBuffer) 105 vboxGlobal().setWMClass(this, pBuffer, pBuffer); 106 else 107 vboxGlobal().setWMClass(this, "VirtualBox Machine", "VirtualBox Machine"); 101 vboxGlobal().setWMClass(this, strWindowName, strWindowName); 108 102 #endif 109 103
Note:
See TracChangeset
for help on using the changeset viewer.