diff --git a/src/ChangeLog b/src/ChangeLog index 375d5c47..47abb7d9 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1721,3 +1721,14 @@ they are switched in one of the groups dialogs. Apparently there's a bug with imageclasses that use transparency, probably an Imlib issue. + +------------------------------------------------------------------------------- + +Tue Sep 14 10:53:14 PDT 1999 +(Raster) + +fix menu segfault bug + +fix raiswlower for groups :) + +make "abotu this theme" brign up the ABOUT for the CURRENT theme :) diff --git a/src/actions.c b/src/actions.c index ef1f68ca..3812ddb0 100644 --- a/src/actions.c +++ b/src/actions.c @@ -3382,7 +3382,8 @@ int doRaiseLower(void *params) { EWin *ewin; - int i; + EWin **gwins; + int i, num, j; EDBUG(6, "doRaiseLower"); if (InZoom()) @@ -3395,26 +3396,34 @@ doRaiseLower(void *params) ewin = GetFocusEwin(); if (!ewin) EDBUG_RETURN(0); - if (desks.desk[ewin->desktop].list) + + gwins = ListWinGroupMembersForEwin(ewin, ACTION_NONE, 0, &num); + for (j = 0; j < num; j++) { - for (i = 0; i < desks.desk[ewin->desktop].num - 1; i++) + ewin = gwins[j]; + if (desks.desk[ewin->desktop].list) { - if (desks.desk[ewin->desktop].list[i]->layer == ewin->layer) + for (i = 0; i < desks.desk[ewin->desktop].num - 1; i++) { - if (desks.desk[ewin->desktop].list[i] == ewin) + if (desks.desk[ewin->desktop].list[i]->layer == ewin->layer) { - AUDIO_PLAY("SOUND_LOWER"); - LowerEwin(ewin); + if (desks.desk[ewin->desktop].list[i] == ewin) + { + AUDIO_PLAY("SOUND_LOWER"); + LowerEwin(ewin); + } + else + { + AUDIO_PLAY("SOUND_RAISE"); + RaiseEwin(ewin); + } + i = desks.desk[ewin->desktop].num; } - else - { - AUDIO_PLAY("SOUND_RAISE"); - RaiseEwin(ewin); - } - break; } } } + Efree(gwins); + EDBUG_RETURN(0); } diff --git a/src/evhandlers.c b/src/evhandlers.c index 1b8e3bb8..4a6667a2 100644 --- a/src/evhandlers.c +++ b/src/evhandlers.c @@ -1982,7 +1982,8 @@ HandleMouseUp(XEvent * ev) { if (ww == ewin->bits[i].win) { - if (ewin->border->part[i].flags & FLAG_TITLE) + if ((ewin->border->part[i].flags & FLAG_TITLE) && + (ewin->menu)) { ewin->menu->stuck = 1; mode.context_ewin = ewin; diff --git a/src/main.c b/src/main.c index 54943a27..a5ea1acd 100644 --- a/src/main.c +++ b/src/main.c @@ -164,7 +164,6 @@ main(int argc, char **argv) /* SC_Init(); * SC_SetHotspot(30, 30); * SC_SetWait(); */ - SetupEnv(); InitDesktopBgs(); GotoDesktop(0); CommsSetup(); @@ -228,6 +227,7 @@ main(int argc, char **argv) CreateStartupDisplay(0); /* retreive stuff from last time we were loaded if we're restarting */ ICCCM_GetMainEInfo(); + SetupEnv(); MapUnmap(1); /* set some more stuff for gnome */ GNOME_SetCurrentArea(); diff --git a/src/themes/configs/menus.cfg b/src/themes/configs/menus.cfg index bab081d3..347b3456 100644 --- a/src/themes/configs/menus.cfg +++ b/src/themes/configs/menus.cfg @@ -96,8 +96,8 @@ ADD_MENU_SUBMENU_TEXT_ITEM("Settings", "CONFIG_SUBMENU") ADD_MENU_SUBMENU_TEXT_ITEM("Themes", "THEMES_SUBMENU") ADD_MENU_SUBMENU_TEXT_ITEM("Test File Menu", "FILE_MENU") ADD_MENU_TEXT_ITEM("About Enlightenment", __A_ABOUT, "") -ADD_MENU_TEXT_ITEM("Help", __A_EXEC, ENLIGHTENMENT_BIN"/dox" ENLIGHTENMENT_ROOT"/E-docs") -ADD_MENU_TEXT_ITEM("About this theme", __A_EXEC, ENLIGHTENMENT_BIN"/dox" ENLIGHTENMENT_THEME"/ABOUT") +ADD_MENU_TEXT_ITEM("Help", __A_EXEC, ENLIGHTENMENT_BIN"/dox" $EROOT"/E-docs") +ADD_MENU_TEXT_ITEM("About this theme", __A_EXEC, ENLIGHTENMENT_BIN"/dox" $ETHEME"/ABOUT") ADD_MENU_TEXT_ITEM("Restart", __A_EXIT, "restart") ADD_MENU_TEXT_ITEM("Log Out", __A_EXIT, "logout") END_MENU