diff options
-rw-r--r-- | po/xfwm4.pot | 4 | ||||
-rw-r--r-- | src/events.c | 13 |
2 files changed, 13 insertions, 4 deletions
diff --git a/po/xfwm4.pot b/po/xfwm4.pot index fb149a929..3e469501d 100644 --- a/po/xfwm4.pot +++ b/po/xfwm4.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-10-24 23:50+0200\n" +"POT-Creation-Date: 2004-10-26 23:40+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -597,7 +597,7 @@ msgstr "" msgid "Compose shortcut for command :" msgstr "" -#: src/events.c:1781 +#: src/events.c:1802 #, c-format msgid "%s: Operation not supported (yet)\n" msgstr "" diff --git a/src/events.c b/src/events.c index 3c5d36264..917addb39 100644 --- a/src/events.c +++ b/src/events.c @@ -75,7 +75,6 @@ extern gboolean xfwm4_quit; extern gboolean xfwm4_reload; - static guint raise_timeout = 0; static GdkAtom atom_rcfiles = GDK_NONE; static xfwmWindow menu_event_window; @@ -246,6 +245,7 @@ raise_cb (gpointer data) clear_timeout (); c = clientGetFocus (); + if (c) { clientRaise (c); @@ -806,6 +806,7 @@ rootScrollButton (DisplayInfo *display_info, XButtonEvent * ev) static void handleButtonPress (DisplayInfo *display_info, XButtonEvent * ev) { + static Time last_button_time = (Time) 0; ScreenInfo *screen_info = NULL; Client *c = NULL; Window win; @@ -813,6 +814,14 @@ handleButtonPress (DisplayInfo *display_info, XButtonEvent * ev) TRACE ("entering handleButtonPress"); + /* Avoid treating the same event twice */ + if (last_button_time > ev->time) + { + TRACE ("ignoring ButtonPress event because it has been already handled"); + return; + } + last_button_time = ev->time; + /* Clear timeout */ clear_timeout (); @@ -1510,7 +1519,7 @@ handleFocusIn (DisplayInfo *display_info, XFocusChangeEvent * ev) clientPassGrabButton1 (c); } if ((screen_info->params->raise_on_focus) && - !(screen_info->params->click_to_focus)) + !(screen_info->params->raise_on_click)) { reset_timeout (screen_info); } |