kdeui: prevent segmentation fault due to failed XOpenDisplay()

This commit is contained in:
Ivailo Monev 2015-07-14 22:33:55 +00:00
parent 0f11be04d2
commit d17cfcde10

View file

@ -811,21 +811,24 @@ void KWindowSystem::lowerWindow( WId win )
bool KWindowSystem::compositingActive()
{
bool ret = false;
if( QX11Info::display()) {
init( INFO_BASIC );
if (s_d_func()->haveXfixes) {
return s_d_func()->compositingEnabled;
} else {
create_atoms();
return XGetSelectionOwner( QX11Info::display(), net_wm_cm );
ret = XGetSelectionOwner( QX11Info::display(), net_wm_cm );
}
} else { // work even without QApplication instance
Display* dpy = XOpenDisplay( NULL );
if (dpy) {
create_atoms( dpy );
bool ret = XGetSelectionOwner( dpy, net_wm_cm ) != None;
ret = XGetSelectionOwner( dpy, net_wm_cm ) != None;
XCloseDisplay( dpy );
return ret;
}
}
return ret;
}
QRect KWindowSystem::workArea( int desktop )