fixes to ShowFullScreen (KDE 3.1)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -400,17 +400,29 @@ static void wxSetKDEFullscreen(Display *display, Window rootWnd,
|
||||
}
|
||||
|
||||
// it is neccessary to unmap the window, otherwise kwin will ignore us:
|
||||
XSync(display, False);
|
||||
|
||||
bool wasMapped = IsMapped(display, w);
|
||||
if (wasMapped)
|
||||
{
|
||||
XUnmapWindow(display, w);
|
||||
XSync(display, False);
|
||||
}
|
||||
|
||||
XChangeProperty(display, w, _NET_WM_WINDOW_TYPE, XA_ATOM, 32,
|
||||
PropModeReplace, (unsigned char *) &data, lng);
|
||||
XSync(display, False);
|
||||
|
||||
if (wasMapped)
|
||||
{
|
||||
XMapRaised(display, w);
|
||||
XSync(display, False);
|
||||
}
|
||||
|
||||
wxWMspecSetState(display, rootWnd, w,
|
||||
fullscreen ? _NET_WM_STATE_ADD : _NET_WM_STATE_REMOVE,
|
||||
_NET_WM_STATE_STAYS_ON_TOP);
|
||||
XSync(display, False);
|
||||
|
||||
if (!fullscreen)
|
||||
{
|
||||
@@ -423,6 +435,7 @@ static void wxSetKDEFullscreen(Display *display, Window rootWnd,
|
||||
XMoveResizeWindow(display, w,
|
||||
origRect->x, origRect->y,
|
||||
origRect->width, origRect->height);
|
||||
XSync(display, False);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user