diff -r 230c196a19f2 -r 835b4926932f gtk/win32/gtkwin32dep.c --- a/gtk/win32/gtkwin32dep.c Sat Oct 21 21:19:02 2006 +0000 +++ b/gtk/win32/gtkwin32dep.c Sat Oct 21 23:36:44 2006 +0000 @@ -225,25 +225,6 @@ return win_hwnd; } -static int -halt_flash_filter(GtkWidget *widget, GdkEventFocus *event, gpointer data) { - if(MyFlashWindowEx) { - HWND hWnd = data; - FLASHWINFO info; - - if(!IsWindow(hWnd)) - return 0; - - memset(&info, 0, sizeof(FLASHWINFO)); - info.cbSize = sizeof(FLASHWINFO); - info.hwnd = hWnd; - info.dwFlags = FLASHW_STOP; - info.dwTimeout = 0; - MyFlashWindowEx(&info); - } - return 0; -} - void gtkwgaim_conv_blink(GaimConversation *conv, GaimMessageFlags flags) { GaimGtkWindow *win; @@ -266,21 +247,19 @@ window = win->window; + /* Don't flash if we have the window focused */ + if(GetForegroundWindow() == GDK_WINDOW_HWND(window->window)) + return; + if(MyFlashWindowEx) { FLASHWINFO info; - /* Don't flash if we have the window focused */ - if(GetForegroundWindow() == GDK_WINDOW_HWND(window->window)) - return; memset(&info, 0, sizeof(FLASHWINFO)); info.cbSize = sizeof(FLASHWINFO); info.hwnd = GDK_WINDOW_HWND(window->window); - info.dwFlags = FLASHW_ALL | FLASHW_TIMER; + info.dwFlags = FLASHW_ALL | FLASHW_TIMERNOFG; info.dwTimeout = 0; MyFlashWindowEx(&info); - /* Stop flashing when window receives focus */ - g_signal_connect(G_OBJECT(window), "focus-in-event", - G_CALLBACK(halt_flash_filter), info.hwnd); } }