Add 0084 compositing patch from RedHat

(cherry picked from commit 7295893a20)
v3.5.13-sru
Timothy Pearson 13 years ago committed by Slávek Banko
parent c62cd502f3
commit 909c3cb760

@ -558,7 +558,10 @@ void QWidget::create( WId window, bool initializeWindow, bool destroyOldWindow)
wsa.save_under = True;
XChangeWindowAttributes( dpy, id, CWOverrideRedirect | CWSaveUnder,
&wsa );
x11SetWindowType();
XClassHint class_hint;
class_hint.res_name = (char *) qAppName(); // application name
class_hint.res_class = (char *) qAppClass(); // application class
XSetClassHint( dpy, id, &class_hint );
} else if ( topLevel && !desktop ) { // top-level widget
QWidget *p = parentWidget(); // real parent
if (p)
@ -621,8 +624,6 @@ void QWidget::create( WId window, bool initializeWindow, bool destroyOldWindow)
else
XDeleteProperty(dpy, id, qt_xa_motif_wm_hints);
x11SetWindowType();
// set _NET_WM_WINDOW_STATE
if (curr_winstate > 0)
XChangeProperty(dpy, id, qt_net_wm_state, XA_ATOM, 32, PropModeReplace,
@ -630,11 +631,6 @@ void QWidget::create( WId window, bool initializeWindow, bool destroyOldWindow)
else
XDeleteProperty(dpy, id, qt_net_wm_state);
// set _NET_WM_PID
long curr_pid = getpid();
XChangeProperty(dpy, id, qt_net_wm_pid, XA_CARDINAL, 32, PropModeReplace,
(unsigned char *) &curr_pid, 1);
#ifndef QT_NO_XSYNC
// set _NET_WM_SYNC_COUNTER
createSyncCounter();
@ -646,19 +642,31 @@ void QWidget::create( WId window, bool initializeWindow, bool destroyOldWindow)
// when we create a toplevel widget, the frame strut should be dirty
fstrut_dirty = 1;
} else {
// non-toplevel widgets don't have a frame, so no need to
// update the strut
fstrut_dirty = 0;
}
if (initializeWindow && (popup || (topLevel && !desktop))) { // properties set on all toplevel windows
x11SetWindowType();
// set _NET_WM_PID
long curr_pid = getpid();
XChangeProperty(dpy, id, qt_net_wm_pid, XA_CARDINAL, 32, PropModeReplace,
(unsigned char *) &curr_pid, 1);
// declare the widget's object name as window role
XChangeProperty( dpy, id,
qt_window_role, XA_STRING, 8, PropModeReplace,
(unsigned char *)name(), qstrlen( name() ) );
// set client leader property
if ( !qt_x11_wm_client_leader )
qt_x11_create_wm_client_leader();
XChangeProperty( dpy, id, qt_wm_client_leader,
XA_WINDOW, 32, PropModeReplace,
(unsigned char *)&qt_x11_wm_client_leader, 1 );
} else {
// non-toplevel widgets don't have a frame, so no need to
// update the strut
fstrut_dirty = 0;
}
if ( initializeWindow ) {

Loading…
Cancel
Save