Mercurial > pidgin
changeset 16281:82b6fdd899a9
Dialogs opened resulting from a mouse-click should fain focus.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Fri, 20 Apr 2007 08:02:57 +0000 |
parents | 414044108a06 |
children | 4a1fc97196c0 |
files | finch/libgnt/gntmain.c finch/libgnt/gntwm.c finch/libgnt/gntwm.h |
diffstat | 3 files changed, 11 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/finch/libgnt/gntmain.c Fri Apr 20 06:23:32 2007 +0000 +++ b/finch/libgnt/gntmain.c Fri Apr 20 08:02:57 2007 +0000 @@ -211,10 +211,11 @@ raise(SIGABRT); } + gnt_wm_set_event_stack(wm, TRUE); rd += HOLDING_ESCAPE; keys[rd] = 0; if (mouse_enabled && detect_mouse_action(keys)) - return TRUE; + goto end; if (HOLDING_ESCAPE) keys[0] = '\033'; @@ -243,7 +244,8 @@ rd -= p; k += p; } - +end: + gnt_wm_set_event_stack(wm, FALSE); return TRUE; }
--- a/finch/libgnt/gntwm.c Fri Apr 20 06:23:32 2007 +0000 +++ b/finch/libgnt/gntwm.c Fri Apr 20 08:02:57 2007 +0000 @@ -1263,10 +1263,7 @@ idle_update = TRUE; - wm->event_stack = TRUE; - if (gnt_bindable_perform_action_key(GNT_BINDABLE(wm), keys)) { - wm->event_stack = FALSE; return TRUE; } @@ -1299,7 +1296,6 @@ if (ox != x || oy != y) { gnt_screen_move_widget(widget, x, y); window_reverse(widget, TRUE, wm); - wm->event_stack = FALSE; return TRUE; } } else if (wm->mode == GNT_KP_MODE_RESIZE) { @@ -1317,7 +1313,6 @@ if (oh != h || ow != w) { gnt_screen_resize_widget(widget, w, h); window_reverse(widget, TRUE, wm); - wm->event_stack = FALSE; return TRUE; } } @@ -1325,7 +1320,6 @@ window_reverse(widget, FALSE, wm); wm->mode = GNT_KP_MODE_NORMAL; } - wm->event_stack = FALSE; return TRUE; } @@ -1333,7 +1327,6 @@ if (strcmp(keys, "\033") == 0) { if (wm->_list.window) { gnt_widget_destroy(wm->_list.window); - wm->event_stack = FALSE; return TRUE; } } else if (keys[0] == '\033' && isdigit(keys[1]) && keys[2] == '\0') { @@ -1356,7 +1349,6 @@ ret = gnt_widget_key_pressed(wm->_list.window, keys); else if (wm->ordered) ret = gnt_widget_key_pressed(GNT_WIDGET(wm->ordered->data), keys); - wm->event_stack = FALSE; return ret; } @@ -1542,3 +1534,8 @@ g_signal_emit(wm, signals[SIG_GIVE_FOCUS], 0, widget); } +void gnt_wm_set_event_stack(GntWM *wm, gboolean set) +{ + wm->event_stack = set; +} +