XQuartz: xprSetWindowLevel updated to store the level requested by the WM
(cherry picked from commit c28c2ddc3a
)
This commit is contained in:
parent
6479d39405
commit
5b4f92bf2d
|
@ -38,6 +38,7 @@
|
|||
|
||||
#include "applewmExt.h"
|
||||
#include "rootless.h"
|
||||
#include "rootlessCommon.h"
|
||||
#include <Xplugin.h>
|
||||
#include <X11/X.h>
|
||||
#include "quartz.h"
|
||||
|
@ -49,13 +50,24 @@ static int xprSetWindowLevel(
|
|||
{
|
||||
xp_window_id wid;
|
||||
xp_window_changes wc;
|
||||
RootlessWindowRec *winRec;
|
||||
|
||||
// AppleWMNumWindowLevels is allowed, but is only set by the server
|
||||
// for the root window.
|
||||
if (level < 0 || level >= AppleWMNumWindowLevels) {
|
||||
return BadValue;
|
||||
}
|
||||
|
||||
wid = x_cvt_vptr_to_uint(RootlessFrameForWindow (pWin, TRUE));
|
||||
if (wid == 0)
|
||||
return BadWindow;
|
||||
|
||||
RootlessStopDrawing (pWin, FALSE);
|
||||
|
||||
winRec = WINREC(pWin);
|
||||
|
||||
if(!winRec)
|
||||
return BadWindow;
|
||||
|
||||
if(quartzEnableRootless)
|
||||
wc.window_level = normal_window_levels[level];
|
||||
else
|
||||
|
@ -65,6 +77,8 @@ static int xprSetWindowLevel(
|
|||
return BadValue;
|
||||
}
|
||||
|
||||
winRec->level = level;
|
||||
|
||||
return Success;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user