Mercurial > pidgin
changeset 23722:d9d388a27d01
Use the "Flash taskbar button X times" value from the win32 Tweak UI "Prevent
applications from stealing focus" settings to determine how many times to flash
the taskbar for incoming messages.
References #1502,#2372,#117
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Thu, 14 Aug 2008 04:28:47 +0000 |
parents | a5bfc59b0c6e |
children | 0bdff80233fb |
files | pidgin/win32/gtkwin32dep.c |
diffstat | 1 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/pidgin/win32/gtkwin32dep.c Thu Aug 14 04:17:21 2008 +0000 +++ b/pidgin/win32/gtkwin32dep.c Thu Aug 14 04:28:47 2008 +0000 @@ -319,8 +319,10 @@ winpidgin_window_flash(window, FALSE); - if ((handler_id = g_object_get_data(G_OBJECT(window), "flash_stop_handler_id"))) + if ((handler_id = g_object_get_data(G_OBJECT(window), "flash_stop_handler_id"))) { g_signal_handler_disconnect(G_OBJECT(window), (gulong) GPOINTER_TO_UINT(handler_id)); + g_object_steal_data(G_OBJECT(window), "flash_stop_handler_id"); + } return FALSE; } @@ -346,7 +348,10 @@ info.cbSize = sizeof(FLASHWINFO); info.hwnd = GDK_WINDOW_HWND(gdkwin); if (flash) { + DWORD flashCount; info.uCount = 3; + if (SystemParametersInfo(SPI_GETFOREGROUNDFLASHCOUNT, 0, &flashCount, 0)) + info.uCount = flashCount; info.dwFlags = FLASHW_ALL | FLASHW_TIMER; } else info.dwFlags = FLASHW_STOP;