diff options
author | Hans Breuer <hans@breuer.org> | 2005-09-18 12:28:42 +0000 |
---|---|---|
committer | Hans Breuer <hans@src.gnome.org> | 2005-09-18 12:28:42 +0000 |
commit | e5d06c7ca9b2277e0e7a91acfb5ecb7c2d7683a9 (patch) | |
tree | f9ecc4b01e25d8e07f5ff72088c9975721c65ad0 /gdk | |
parent | 1127a03f71a7e775bb0e1c886fced484b34d93a8 (diff) | |
download | gtk+-e5d06c7ca9b2277e0e7a91acfb5ecb7c2d7683a9.tar.gz |
fix typo for GTK_VER; define HAVE_CONFIG_H cause gtkprogressbar.c has
2005-09-18 Hans Breuer <hans@breuer.org>
* gtk/makefile.msc.in : fix typo for GTK_VER; define HAVE_CONFIG_H
cause gtkprogressbar.c has #include <config.h> conditionally; less
noise from generated gtk.def
* gtk/stock-icons/makefile.msc gdk/makefile.msc tests/makefile.msc : updated
* gtk/gtktrayicon-win32.c : dummy implmentation to make gtk compile.
For me it works as well as the *NIX implemenation, that is not at all.
* gdk/win32/gdkproperty-win32.c : implement gdk_atom_intern_static_string()
* gdk/win32/gdkwindow-win32.c(gdk_window_set_urgency_hint) : only use
only use (WINVER >= 0x0500) when available from the SDK. Otherwise fall
back to true dynamic linking of FlashWindowEx. Makes gtk+ work on NT4.0
again - if compiled properly.
* tests/teststatusicon.c : don't use GNOME icons for testing, but icons
already coming with Gtk+. Makes it compile on win32.
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/makefile.msc | 4 | ||||
-rw-r--r-- | gdk/win32/gdkproperty-win32.c | 9 | ||||
-rw-r--r-- | gdk/win32/gdkwindow-win32.c | 34 |
3 files changed, 43 insertions, 4 deletions
diff --git a/gdk/makefile.msc b/gdk/makefile.msc index 66bb791d2a..bb8d147151 100644 --- a/gdk/makefile.msc +++ b/gdk/makefile.msc @@ -154,7 +154,9 @@ gdkaliasdef.c: gdk.symbols gdk.def: gdk.symbols echo EXPORTS > gdk.def - cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DGDK_WINDOWING_WIN32 -DALL_FILES gdk.symbols >> gdk.def + cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DGDK_WINDOWING_WIN32 -DALL_FILES \ + -DG_GNUC_CONST= \ + gdk.symbols >> gdk.def libgdk-win32-$(GTK_VER)-0.dll : $(gdk_OBJECTS) gdk.def win32\gdk-win32.lib $(CC) $(CFLAGS) -LD -Fe$@ $(gdk_OBJECTS) win32\gdk-win32.lib $(EXTRALIBS) \ diff --git a/gdk/win32/gdkproperty-win32.c b/gdk/win32/gdkproperty-win32.c index 21ca464d2d..5eff72add0 100644 --- a/gdk/win32/gdkproperty-win32.c +++ b/gdk/win32/gdkproperty-win32.c @@ -84,6 +84,15 @@ gdk_atom_intern (const gchar *atom_name, return retval; } +GdkAtom +gdk_atom_intern_static_string (const gchar *atom_name) +{ + /* on X11 this is supposed to save memory. On win32 there seems to be + * no way to make a difference ? + */ + return gdk_atom_intern (atom_name, FALSE); +} + gchar * gdk_atom_name (GdkAtom atom) { diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index 81d764cc40..5c2f5a095e 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -29,9 +29,6 @@ #include <config.h> #include <stdlib.h> -#define _WIN32_WINNT 0x0500 -#define WINVER _WIN32_WINNT - #include "gdk.h" /* gdk_rectangle_intersect */ #include "gdkevents.h" #include "gdkpixmap.h" @@ -1574,6 +1571,8 @@ void gdk_window_set_urgency_hint (GdkWindow *window, gboolean urgent) { +#if (WINVER >= 0x0500) + FLASHWINFO flashwinfo; g_return_if_fail (GDK_IS_WINDOW (window)); @@ -1592,6 +1591,35 @@ gdk_window_set_urgency_hint (GdkWindow *window, flashwinfo.dwTimeout = 0; FlashWindowEx (&flashwinfo); +#else + struct _FLASHWINDOW + { + UINT cbSize; + HWND hwnd; + DWORD dwFlags; + UINT uCount; + DWORD dwTimeout; + } flashwindow = { sizeof(flashwindow), GDK_WINDOW_HWND (window), urgent ? 0x07 : 0x0, 0, 0 }; + typedef BOOL (*PFN_FlashWindowEx) (struct _FLASHWINDOW); + PFN_FlashWindowEx flashWindowEx = NULL; + gboolean once = TRUE; + + g_return_if_fail (GDK_IS_WINDOW (window)); + g_return_if_fail (GDK_WINDOW_TYPE (window) != GDK_WINDOW_CHILD); + + if (GDK_WINDOW_DESTROYED (window)) + return; + + if (once) + { + flashWindowEx = (PFN_FlashWindowEx)GetProcAddress (GetModuleHandle ("user32.dll"), "FlashWindowEx"); + once = FALSE; + } + if (flashWindowEx) + flashWindowEx(flashwindow); + else + FlashWindow (GDK_WINDOW_HWND (window), urgent); +#endif } void |