fix for bug 17713

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@23483 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2006-09-13 04:50:13 +00:00
parent 32d2f9faca
commit 3b5ee43d94
2 changed files with 18 additions and 11 deletions

View file

@ -1,3 +1,9 @@
2006-09-13 Richard Frith-Macdonald <rfm@gnu.org>
* Source/x11/XGServerWindow.m: use generic.wintypes.win_modal_atom
for popup menu in gnome/ewmh window manager so that popup menus work
in modal windows. Reported as bug 17713 by Yen-Ju Chen.
2006-09-12 Richard Frith-Macdonald <rfm@gnu.org>
* Source/art/ARTContext.m:

View file

@ -2425,14 +2425,15 @@ static BOOL didCreatePixmaps;
}
else if (level == NSMainMenuWindowLevel)
{
// For strange reasons menu level does not work out for the main menu
// For strange reasons menu level does not
// work out for the main menu
//data[0] = generic.wintypes.win_topmenu_atom;
data[0] = generic.wintypes.win_dock_atom;
//len = 2;
}
else if (level == NSSubmenuWindowLevel ||
level == NSFloatingWindowLevel ||
level == NSTornOffMenuWindowLevel)
else if (level == NSSubmenuWindowLevel
|| level == NSFloatingWindowLevel
|| level == NSTornOffMenuWindowLevel)
{
#ifdef USE_KDE_OVERRIDE
data[0] = generic.wintypes.win_override_atom;
@ -2444,8 +2445,8 @@ static BOOL didCreatePixmaps;
len = 1;
#endif
}
else if (level == NSDockWindowLevel ||
level == NSStatusWindowLevel)
else if (level == NSDockWindowLevel
|| level == NSStatusWindowLevel)
{
data[0] =generic.wintypes.win_dock_atom;
}
@ -2457,7 +2458,7 @@ static BOOL didCreatePixmaps;
data[1] = generic.wintypes.win_floating_atom;
len = 2;
#else
data[0] = generic.wintypes.win_floating_atom;
data[0] = generic.wintypes.win_modal_atom;
len = 1;
#endif
}
@ -2482,16 +2483,16 @@ static BOOL didCreatePixmaps;
if (level == NSDesktopWindowLevel)
flag = WIN_LAYER_DESKTOP;
else if (level == NSSubmenuWindowLevel
|| level == NSFloatingWindowLevel
|| level == NSTornOffMenuWindowLevel)
|| level == NSFloatingWindowLevel
|| level == NSTornOffMenuWindowLevel)
flag = WIN_LAYER_ONTOP;
else if (level == NSMainMenuWindowLevel)
flag = WIN_LAYER_MENU;
else if (level == NSDockWindowLevel
|| level == NSStatusWindowLevel)
|| level == NSStatusWindowLevel)
flag = WIN_LAYER_DOCK;
else if (level == NSModalPanelWindowLevel
|| level == NSPopUpMenuWindowLevel)
|| level == NSPopUpMenuWindowLevel)
flag = WIN_LAYER_ONTOP;
else if (level == NSScreenSaverWindowLevel)
flag = WIN_LAYER_ABOVE_DOCK;