diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/menus.c | 22 | ||||
-rw-r--r-- | src/menus.h | 1 | ||||
-rw-r--r-- | src/twm.c | 2 |
3 files changed, 15 insertions, 10 deletions
diff --git a/src/menus.c b/src/menus.c index 4b5dd62..1e78a1a 100644 --- a/src/menus.c +++ b/src/menus.c @@ -133,7 +133,6 @@ void InitMenus(void) { int i, j, k; - FuncKey *key; for (i = 0; i < MAX_BUTTONS + 1; i++) for (j = 0; j < NUM_CONTEXTS; j++) @@ -144,18 +143,21 @@ InitMenus(void) Scr->DefaultFunction.func = 0; Scr->WindowFunction.func = 0; +} - if (FirstScreen) { - for (key = Scr->FuncKeyRoot.next; key != NULL;) { - FuncKey *tmp = key; +void +InitMenusFirst(void) +{ + FuncKey *key; - free(key->name); - key = key->next; - free(tmp); - } - Scr->FuncKeyRoot.next = NULL; - } + for (key = Scr->FuncKeyRoot.next; key != NULL;) { + FuncKey *tmp = key; + free(key->name); + key = key->next; + free(tmp); + } + Scr->FuncKeyRoot.next = NULL; } /** diff --git a/src/menus.h b/src/menus.h index 5e188fc..b30d596 100644 --- a/src/menus.h +++ b/src/menus.h @@ -161,6 +161,7 @@ extern int MenuDepth; #define COLORMAP_DEFAULT "default" extern void InitMenus(void); +extern void InitMenusFirst(void); extern Bool AddFuncKey(char *name, int cont, int mods, int func, char *win_name, char *action); extern int CreateTitleButton(const char *name, int func, const char *action, @@ -532,6 +532,8 @@ main(int argc, char *argv[]) InitVariables(); InitMenus(); + if (FirstScreen) + InitMenusFirst(); /* Parse it once for each screen. */ ParseTwmrc(InitFile); |