mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-04-30 22:38:03 +02:00
Redirect window before mapping it.
This commit is contained in:
parent
309d49e54a
commit
75c4bd8288
1 changed files with 10 additions and 10 deletions
|
|
@ -661,11 +661,6 @@ Bool dmxRealizeWindow(WindowPtr pWindow)
|
|||
if (pWinPriv->window) {
|
||||
/* Realize window on back-end server */
|
||||
|
||||
XLIB_PROLOGUE (dmxScreen);
|
||||
XMapWindow(dmxScreen->beDisplay, pWinPriv->window);
|
||||
XLIB_EPILOGUE (dmxScreen);
|
||||
dmxSync(dmxScreen, False);
|
||||
|
||||
if (pWinPriv->redirected)
|
||||
{
|
||||
PixmapPtr pPixmap;
|
||||
|
|
@ -679,24 +674,29 @@ Bool dmxRealizeWindow(WindowPtr pWindow)
|
|||
XCompositeRedirectWindow (dmxScreen->beDisplay,
|
||||
pWinPriv->window,
|
||||
CompositeRedirectManual);
|
||||
XLIB_EPILOGUE (dmxScreen);
|
||||
|
||||
if (pPixPriv->pixmap)
|
||||
{
|
||||
XLIB_PROLOGUE (dmxScreen);
|
||||
XFreePixmap (dmxScreen->beDisplay, pPixPriv->pixmap);
|
||||
XLIB_EPILOGUE (dmxScreen);
|
||||
|
||||
pPixPriv->pixmap = None;
|
||||
}
|
||||
|
||||
XLIB_PROLOGUE (dmxScreen);
|
||||
XMapWindow (dmxScreen->beDisplay, pWinPriv->window);
|
||||
|
||||
pPixPriv->pixmap =
|
||||
XCompositeNameWindowPixmap (dmxScreen->beDisplay,
|
||||
pWinPriv->window);
|
||||
XLIB_EPILOGUE (dmxScreen);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
XLIB_PROLOGUE (dmxScreen);
|
||||
XMapWindow(dmxScreen->beDisplay, pWinPriv->window);
|
||||
XLIB_EPILOGUE (dmxScreen);
|
||||
}
|
||||
|
||||
dmxSync(dmxScreen, False);
|
||||
}
|
||||
|
||||
/* Let the other functions know that the window is now mapped */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue