summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Breuer <hans@breuer.org>2001-11-09 21:52:52 +0000
committerHans Breuer <hans@src.gnome.org>2001-11-09 21:52:52 +0000
commitbe3809f0ba4a29729251df476471047606dbf3f2 (patch)
tree49547b0f7c6ce34ee6fa22c77c115a6882f08625
parent15d20507948e6a9f899a4443c722c5651d91e519 (diff)
downloadgtk+-be3809f0ba4a29729251df476471047606dbf3f2.tar.gz
use g_strcasecmp(), some poor platforms don't have strcasecmp()
2001-10-28 Hans Breuer <hans@breuer.org> * gtk/gtkfontsel.c : use g_strcasecmp(), some poor platforms don't have strcasecmp() * gtk/gtktextview.c : to fix crashing on e.g. TextView::find need to remove the idle funcs in gtk_text_view_destroy (). To reduce code duplication wrap it in its own function and use it in gtk_text_view_unrealize () and gtk_text_view_destroy_layout () * gdk/win32/gdkdrawable-win32.c : implement the finalize method like the X11 version does, allow to set_colormap NULL * gdk/win32/gdkwindow-win32.c : adapt GdkWindowImplWin32:: set_colormap, also some adaption to X11 version : (gdk_window_hide) call _gdk_window_clear_update_area (gdk_window_reparent) call _gdk_window_init_position * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints) : call gdk_window_resize() after all hints are set, because the window resizing process (WM_GETMINMAXINFO) takes all of them into account * gdk/win32/gdkfont-win32.c : make gdk_font_equal return a gboolean * gdk/win32/gdkvisual-win32.c : register GdkVisual with sizeof (GdkVisualPrivate) * gdk/gdk.def gtk/gtk.def : upated externals * gdk/makefile.msc gdk/win32/makefile.msc gdk-pixbuf/makefile.msc gdk-pixbuf/pixops/makefile.msc gtk/makefile.msc.in tests/makefile.msc : from now on use make.msc from $(TOP)/glib/build/win32 * gtk/stock-icons/makefile.msc : add stock_missing_image
-rw-r--r--ChangeLog35
-rw-r--r--ChangeLog.pre-2-035
-rw-r--r--ChangeLog.pre-2-1035
-rw-r--r--ChangeLog.pre-2-235
-rw-r--r--ChangeLog.pre-2-435
-rw-r--r--ChangeLog.pre-2-635
-rw-r--r--ChangeLog.pre-2-835
-rw-r--r--gdk-pixbuf/makefile.msc2
-rw-r--r--gdk-pixbuf/pixops/makefile.msc2
-rw-r--r--gdk/gdk.def1
-rw-r--r--gdk/makefile.msc16
-rw-r--r--gdk/win32/gdkdrawable-win32.c15
-rw-r--r--gdk/win32/gdkfont-win32.c2
-rw-r--r--gdk/win32/gdkvisual-win32.c2
-rw-r--r--gdk/win32/gdkwindow-win32.c100
-rw-r--r--gdk/win32/makefile.msc4
-rwxr-xr-xgtk/gtk.def16
-rw-r--r--gtk/gtkfontsel.c4
-rw-r--r--gtk/gtktextview.c41
-rw-r--r--gtk/makefile.msc.in6
-rw-r--r--gtk/stock-icons/makefile.msc1
-rw-r--r--tests/makefile.msc2
22 files changed, 363 insertions, 96 deletions
diff --git a/ChangeLog b/ChangeLog
index 39fbf9a9a2..c5e138ec8d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,38 @@
+2001-10-28 Hans Breuer <hans@breuer.org>
+
+ * gtk/gtkfontsel.c : use g_strcasecmp(), some poor platforms
+ don't have strcasecmp()
+
+ * gtk/gtktextview.c : to fix crashing on e.g. TextView::find need
+ to remove the idle funcs in gtk_text_view_destroy (). To reduce
+ code duplication wrap it in its own function and use it in
+ gtk_text_view_unrealize () and gtk_text_view_destroy_layout ()
+
+ * gdk/win32/gdkdrawable-win32.c : implement the finalize
+ method like the X11 version does, allow to set_colormap NULL
+ * gdk/win32/gdkwindow-win32.c : adapt GdkWindowImplWin32::
+ set_colormap, also some adaption to X11 version :
+ (gdk_window_hide) call _gdk_window_clear_update_area
+ (gdk_window_reparent) call _gdk_window_init_position
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints) :
+ call gdk_window_resize() after all hints are set, because the
+ window resizing process (WM_GETMINMAXINFO) takes all of them into
+ account
+
+ * gdk/win32/gdkfont-win32.c : make gdk_font_equal return a gboolean
+
+ * gdk/win32/gdkvisual-win32.c : register GdkVisual with
+ sizeof (GdkVisualPrivate)
+
+ * gdk/gdk.def gtk/gtk.def : upated externals
+
+ * gdk/makefile.msc gdk/win32/makefile.msc gdk-pixbuf/makefile.msc
+ gdk-pixbuf/pixops/makefile.msc gtk/makefile.msc.in tests/makefile.msc :
+ from now on use make.msc from $(TOP)/glib/build/win32
+
+ * gtk/stock-icons/makefile.msc : add stock_missing_image
+
2001-11-08 Tor Lillqvist <tml@iki.fi>
* README.win32: Add headers. Add section about ActiveIMM.
diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0
index 39fbf9a9a2..c5e138ec8d 100644
--- a/ChangeLog.pre-2-0
+++ b/ChangeLog.pre-2-0
@@ -1,3 +1,38 @@
+2001-10-28 Hans Breuer <hans@breuer.org>
+
+ * gtk/gtkfontsel.c : use g_strcasecmp(), some poor platforms
+ don't have strcasecmp()
+
+ * gtk/gtktextview.c : to fix crashing on e.g. TextView::find need
+ to remove the idle funcs in gtk_text_view_destroy (). To reduce
+ code duplication wrap it in its own function and use it in
+ gtk_text_view_unrealize () and gtk_text_view_destroy_layout ()
+
+ * gdk/win32/gdkdrawable-win32.c : implement the finalize
+ method like the X11 version does, allow to set_colormap NULL
+ * gdk/win32/gdkwindow-win32.c : adapt GdkWindowImplWin32::
+ set_colormap, also some adaption to X11 version :
+ (gdk_window_hide) call _gdk_window_clear_update_area
+ (gdk_window_reparent) call _gdk_window_init_position
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints) :
+ call gdk_window_resize() after all hints are set, because the
+ window resizing process (WM_GETMINMAXINFO) takes all of them into
+ account
+
+ * gdk/win32/gdkfont-win32.c : make gdk_font_equal return a gboolean
+
+ * gdk/win32/gdkvisual-win32.c : register GdkVisual with
+ sizeof (GdkVisualPrivate)
+
+ * gdk/gdk.def gtk/gtk.def : upated externals
+
+ * gdk/makefile.msc gdk/win32/makefile.msc gdk-pixbuf/makefile.msc
+ gdk-pixbuf/pixops/makefile.msc gtk/makefile.msc.in tests/makefile.msc :
+ from now on use make.msc from $(TOP)/glib/build/win32
+
+ * gtk/stock-icons/makefile.msc : add stock_missing_image
+
2001-11-08 Tor Lillqvist <tml@iki.fi>
* README.win32: Add headers. Add section about ActiveIMM.
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 39fbf9a9a2..c5e138ec8d 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,38 @@
+2001-10-28 Hans Breuer <hans@breuer.org>
+
+ * gtk/gtkfontsel.c : use g_strcasecmp(), some poor platforms
+ don't have strcasecmp()
+
+ * gtk/gtktextview.c : to fix crashing on e.g. TextView::find need
+ to remove the idle funcs in gtk_text_view_destroy (). To reduce
+ code duplication wrap it in its own function and use it in
+ gtk_text_view_unrealize () and gtk_text_view_destroy_layout ()
+
+ * gdk/win32/gdkdrawable-win32.c : implement the finalize
+ method like the X11 version does, allow to set_colormap NULL
+ * gdk/win32/gdkwindow-win32.c : adapt GdkWindowImplWin32::
+ set_colormap, also some adaption to X11 version :
+ (gdk_window_hide) call _gdk_window_clear_update_area
+ (gdk_window_reparent) call _gdk_window_init_position
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints) :
+ call gdk_window_resize() after all hints are set, because the
+ window resizing process (WM_GETMINMAXINFO) takes all of them into
+ account
+
+ * gdk/win32/gdkfont-win32.c : make gdk_font_equal return a gboolean
+
+ * gdk/win32/gdkvisual-win32.c : register GdkVisual with
+ sizeof (GdkVisualPrivate)
+
+ * gdk/gdk.def gtk/gtk.def : upated externals
+
+ * gdk/makefile.msc gdk/win32/makefile.msc gdk-pixbuf/makefile.msc
+ gdk-pixbuf/pixops/makefile.msc gtk/makefile.msc.in tests/makefile.msc :
+ from now on use make.msc from $(TOP)/glib/build/win32
+
+ * gtk/stock-icons/makefile.msc : add stock_missing_image
+
2001-11-08 Tor Lillqvist <tml@iki.fi>
* README.win32: Add headers. Add section about ActiveIMM.
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index 39fbf9a9a2..c5e138ec8d 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,38 @@
+2001-10-28 Hans Breuer <hans@breuer.org>
+
+ * gtk/gtkfontsel.c : use g_strcasecmp(), some poor platforms
+ don't have strcasecmp()
+
+ * gtk/gtktextview.c : to fix crashing on e.g. TextView::find need
+ to remove the idle funcs in gtk_text_view_destroy (). To reduce
+ code duplication wrap it in its own function and use it in
+ gtk_text_view_unrealize () and gtk_text_view_destroy_layout ()
+
+ * gdk/win32/gdkdrawable-win32.c : implement the finalize
+ method like the X11 version does, allow to set_colormap NULL
+ * gdk/win32/gdkwindow-win32.c : adapt GdkWindowImplWin32::
+ set_colormap, also some adaption to X11 version :
+ (gdk_window_hide) call _gdk_window_clear_update_area
+ (gdk_window_reparent) call _gdk_window_init_position
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints) :
+ call gdk_window_resize() after all hints are set, because the
+ window resizing process (WM_GETMINMAXINFO) takes all of them into
+ account
+
+ * gdk/win32/gdkfont-win32.c : make gdk_font_equal return a gboolean
+
+ * gdk/win32/gdkvisual-win32.c : register GdkVisual with
+ sizeof (GdkVisualPrivate)
+
+ * gdk/gdk.def gtk/gtk.def : upated externals
+
+ * gdk/makefile.msc gdk/win32/makefile.msc gdk-pixbuf/makefile.msc
+ gdk-pixbuf/pixops/makefile.msc gtk/makefile.msc.in tests/makefile.msc :
+ from now on use make.msc from $(TOP)/glib/build/win32
+
+ * gtk/stock-icons/makefile.msc : add stock_missing_image
+
2001-11-08 Tor Lillqvist <tml@iki.fi>
* README.win32: Add headers. Add section about ActiveIMM.
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 39fbf9a9a2..c5e138ec8d 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,38 @@
+2001-10-28 Hans Breuer <hans@breuer.org>
+
+ * gtk/gtkfontsel.c : use g_strcasecmp(), some poor platforms
+ don't have strcasecmp()
+
+ * gtk/gtktextview.c : to fix crashing on e.g. TextView::find need
+ to remove the idle funcs in gtk_text_view_destroy (). To reduce
+ code duplication wrap it in its own function and use it in
+ gtk_text_view_unrealize () and gtk_text_view_destroy_layout ()
+
+ * gdk/win32/gdkdrawable-win32.c : implement the finalize
+ method like the X11 version does, allow to set_colormap NULL
+ * gdk/win32/gdkwindow-win32.c : adapt GdkWindowImplWin32::
+ set_colormap, also some adaption to X11 version :
+ (gdk_window_hide) call _gdk_window_clear_update_area
+ (gdk_window_reparent) call _gdk_window_init_position
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints) :
+ call gdk_window_resize() after all hints are set, because the
+ window resizing process (WM_GETMINMAXINFO) takes all of them into
+ account
+
+ * gdk/win32/gdkfont-win32.c : make gdk_font_equal return a gboolean
+
+ * gdk/win32/gdkvisual-win32.c : register GdkVisual with
+ sizeof (GdkVisualPrivate)
+
+ * gdk/gdk.def gtk/gtk.def : upated externals
+
+ * gdk/makefile.msc gdk/win32/makefile.msc gdk-pixbuf/makefile.msc
+ gdk-pixbuf/pixops/makefile.msc gtk/makefile.msc.in tests/makefile.msc :
+ from now on use make.msc from $(TOP)/glib/build/win32
+
+ * gtk/stock-icons/makefile.msc : add stock_missing_image
+
2001-11-08 Tor Lillqvist <tml@iki.fi>
* README.win32: Add headers. Add section about ActiveIMM.
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 39fbf9a9a2..c5e138ec8d 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,38 @@
+2001-10-28 Hans Breuer <hans@breuer.org>
+
+ * gtk/gtkfontsel.c : use g_strcasecmp(), some poor platforms
+ don't have strcasecmp()
+
+ * gtk/gtktextview.c : to fix crashing on e.g. TextView::find need
+ to remove the idle funcs in gtk_text_view_destroy (). To reduce
+ code duplication wrap it in its own function and use it in
+ gtk_text_view_unrealize () and gtk_text_view_destroy_layout ()
+
+ * gdk/win32/gdkdrawable-win32.c : implement the finalize
+ method like the X11 version does, allow to set_colormap NULL
+ * gdk/win32/gdkwindow-win32.c : adapt GdkWindowImplWin32::
+ set_colormap, also some adaption to X11 version :
+ (gdk_window_hide) call _gdk_window_clear_update_area
+ (gdk_window_reparent) call _gdk_window_init_position
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints) :
+ call gdk_window_resize() after all hints are set, because the
+ window resizing process (WM_GETMINMAXINFO) takes all of them into
+ account
+
+ * gdk/win32/gdkfont-win32.c : make gdk_font_equal return a gboolean
+
+ * gdk/win32/gdkvisual-win32.c : register GdkVisual with
+ sizeof (GdkVisualPrivate)
+
+ * gdk/gdk.def gtk/gtk.def : upated externals
+
+ * gdk/makefile.msc gdk/win32/makefile.msc gdk-pixbuf/makefile.msc
+ gdk-pixbuf/pixops/makefile.msc gtk/makefile.msc.in tests/makefile.msc :
+ from now on use make.msc from $(TOP)/glib/build/win32
+
+ * gtk/stock-icons/makefile.msc : add stock_missing_image
+
2001-11-08 Tor Lillqvist <tml@iki.fi>
* README.win32: Add headers. Add section about ActiveIMM.
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 39fbf9a9a2..c5e138ec8d 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,38 @@
+2001-10-28 Hans Breuer <hans@breuer.org>
+
+ * gtk/gtkfontsel.c : use g_strcasecmp(), some poor platforms
+ don't have strcasecmp()
+
+ * gtk/gtktextview.c : to fix crashing on e.g. TextView::find need
+ to remove the idle funcs in gtk_text_view_destroy (). To reduce
+ code duplication wrap it in its own function and use it in
+ gtk_text_view_unrealize () and gtk_text_view_destroy_layout ()
+
+ * gdk/win32/gdkdrawable-win32.c : implement the finalize
+ method like the X11 version does, allow to set_colormap NULL
+ * gdk/win32/gdkwindow-win32.c : adapt GdkWindowImplWin32::
+ set_colormap, also some adaption to X11 version :
+ (gdk_window_hide) call _gdk_window_clear_update_area
+ (gdk_window_reparent) call _gdk_window_init_position
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints) :
+ call gdk_window_resize() after all hints are set, because the
+ window resizing process (WM_GETMINMAXINFO) takes all of them into
+ account
+
+ * gdk/win32/gdkfont-win32.c : make gdk_font_equal return a gboolean
+
+ * gdk/win32/gdkvisual-win32.c : register GdkVisual with
+ sizeof (GdkVisualPrivate)
+
+ * gdk/gdk.def gtk/gtk.def : upated externals
+
+ * gdk/makefile.msc gdk/win32/makefile.msc gdk-pixbuf/makefile.msc
+ gdk-pixbuf/pixops/makefile.msc gtk/makefile.msc.in tests/makefile.msc :
+ from now on use make.msc from $(TOP)/glib/build/win32
+
+ * gtk/stock-icons/makefile.msc : add stock_missing_image
+
2001-11-08 Tor Lillqvist <tml@iki.fi>
* README.win32: Add headers. Add section about ActiveIMM.
diff --git a/gdk-pixbuf/makefile.msc b/gdk-pixbuf/makefile.msc
index a41771676a..94d7040ebb 100644
--- a/gdk-pixbuf/makefile.msc
+++ b/gdk-pixbuf/makefile.msc
@@ -3,7 +3,7 @@ PRJ_TOP = ..
PACKAGE = gdk_pixbuf
PKG_VER = $(GDK_PIXBUF_VER)
-!INCLUDE $(TOP)/build/win32/make.msc
+!INCLUDE $(TOP)/glib/build/win32/make.msc
!IFNDEF PERL
PERL = perl
diff --git a/gdk-pixbuf/pixops/makefile.msc b/gdk-pixbuf/pixops/makefile.msc
index 122cc510c1..f7132f83e9 100644
--- a/gdk-pixbuf/pixops/makefile.msc
+++ b/gdk-pixbuf/pixops/makefile.msc
@@ -2,7 +2,7 @@ TOP = ../../..
PACKAGE = pixops
PRJ_TOP = ..\..
-!INCLUDE $(TOP)/build/win32/make.msc
+!INCLUDE $(TOP)/glib/build/win32/make.msc
PKG_CFLAGS = -I.. $(GLIB_CFLAGS)
diff --git a/gdk/gdk.def b/gdk/gdk.def
index 46feae9f04..24482ce8f3 100644
--- a/gdk/gdk.def
+++ b/gdk/gdk.def
@@ -398,6 +398,7 @@ EXPORTS
gdk_window_hide
gdk_window_hints_get_type
gdk_window_iconify
+ gdk_window_invalidate_maybe_recurse
gdk_window_invalidate_rect
gdk_window_invalidate_region
gdk_window_is_viewable
diff --git a/gdk/makefile.msc b/gdk/makefile.msc
index ecfa223377..544ae1bbd1 100644
--- a/gdk/makefile.msc
+++ b/gdk/makefile.msc
@@ -7,7 +7,7 @@
## how to install for yourself.
TOP = ../..
-!INCLUDE $(TOP)/build/win32/make.msc
+!INCLUDE $(TOP)/glib/build/win32/make.msc
# Location of the Wintab toolkit. Downloadable from http://www.pointing.com.
# definition should possibly go to build/win32/module.def, too.
@@ -41,7 +41,7 @@ PERL = perl
!ENDIF
CFLAGS = -I . -I .. $(GLIB_CFLAGS) $(PANGO_CFLAGS) -I ../gdk-pixbuf \
- -DG_ENABLE_DEBUG -DHAVE_CONFIG_H -DGDK_ENABLE_BROKEN -DGDK_VERSION=\"$(GTK_VER)\"
+ $(G_DEBUGGING) -DHAVE_CONFIG_H -DGDK_ENABLE_BROKEN -DGDK_VERSION=\"$(GTK_VER)\"
EXTRALIBS = $(WTKIT)\lib\i386\wntab32x.lib $(GLIB_LIBS) \
..\gdk-pixbuf\gdk_pixbuf-$(GDK_PIXBUF_VER).lib $(PANGOWIN32_LIBS)
@@ -57,7 +57,9 @@ all: \
gdkenumtypes.c \
gdk-win32-backend \
gdk-win32-$(GTK_VER).dll \
- testgdk.exe
+ testgdk.exe \
+ gdk-win32-$(GTK_VER)s.lib \
+# gdk-x11-$(GTK_VER).dll \
gdk_OBJECTS = \
gdk.obj \
@@ -123,6 +125,14 @@ gdkconfig.h : gdkconfig.h.win32
gdk-win32-$(GTK_VER).dll : $(gdk_OBJECTS) gdk.def win32\gdk-win32.lib
$(CC) $(CFLAGS) -LD -Fegdk-win32-$(GTK_VER).dll $(gdk_OBJECTS) win32\gdk-win32.lib $(EXTRALIBS) gdi32.lib user32.lib imm32.lib shell32.lib ole32.lib uuid.lib win32\gdk.res $(LDFLAGS) /def:gdk.def
+gdk-win32-$(GTK_VER)s.lib : $(gdk_OBJECTS)
+ lib /out:gdk-win32-$(GTK_VER)s.lib $(gdk_OBJECTS) win32\gdk-win32.lib
+
+gdk-x11-$(GTK_VER).dll : $(gdk_OBJECTS) gdk.def x11\gdk-x11.lib
+ $(CC) $(CFLAGS) -LD -Fegdk-x11-$(GTK_VER).dll $(gdk_OBJECTS) \
+ $(PANGO)\pango\pangox-$(PANGO_VER).lib \
+ x11\gdk-x11.lib $(X11_LIBS) $(EXTRALIBS) user32.lib $(LDFLAGS) /def:gdk.def
+
testgdk.exe : gdk-win32-$(GTK_VER).dll testgdk.obj
$(CC) -Fetestgdk.exe testgdk.obj gdk-win32-$(GTK_VER).lib $(EXTRALIBS) $(LDFLAGS)
diff --git a/gdk/win32/gdkdrawable-win32.c b/gdk/win32/gdkdrawable-win32.c
index 9e5d2d6f83..8350525ea1 100644
--- a/gdk/win32/gdkdrawable-win32.c
+++ b/gdk/win32/gdkdrawable-win32.c
@@ -114,6 +114,8 @@ static GdkVisual* gdk_win32_get_visual (GdkDrawable *drawable);
static void gdk_drawable_impl_win32_class_init (GdkDrawableImplWin32Class *klass);
+static void gdk_drawable_impl_win32_finalize (GObject *object);
+
static gpointer parent_class = NULL;
GType
@@ -148,9 +150,12 @@ static void
gdk_drawable_impl_win32_class_init (GdkDrawableImplWin32Class *klass)
{
GdkDrawableClass *drawable_class = GDK_DRAWABLE_CLASS (klass);
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
parent_class = g_type_class_peek_parent (klass);
+ object_class->finalize = gdk_drawable_impl_win32_finalize;
+
drawable_class->create_gc = _gdk_win32_gc_new;
drawable_class->draw_rectangle = gdk_win32_draw_rectangle;
drawable_class->draw_arc = gdk_win32_draw_arc;
@@ -173,6 +178,14 @@ gdk_drawable_impl_win32_class_init (GdkDrawableImplWin32Class *klass)
drawable_class->get_image = _gdk_win32_get_image;
}
+static void
+gdk_drawable_impl_win32_finalize (GObject *object)
+{
+ gdk_drawable_set_colormap (GDK_DRAWABLE (object), NULL);
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
/*****************************************************
* Win32 specific implementations of generic functions *
*****************************************************/
@@ -193,8 +206,6 @@ gdk_win32_set_colormap (GdkDrawable *drawable,
{
GdkDrawableImplWin32 *impl;
- g_return_if_fail (colormap != NULL);
-
impl = GDK_DRAWABLE_IMPL_WIN32 (drawable);
if (impl->colormap == colormap)
diff --git a/gdk/win32/gdkfont-win32.c b/gdk/win32/gdkfont-win32.c
index a305a3ed6b..a03634011c 100644
--- a/gdk/win32/gdkfont-win32.c
+++ b/gdk/win32/gdkfont-win32.c
@@ -1725,7 +1725,7 @@ gdk_font_id (const GdkFont *font)
return 0;
}
-gint
+gboolean
gdk_font_equal (const GdkFont *fonta,
const GdkFont *fontb)
{
diff --git a/gdk/win32/gdkvisual-win32.c b/gdk/win32/gdkvisual-win32.c
index 4fab34c2d4..67c04577ad 100644
--- a/gdk/win32/gdkvisual-win32.c
+++ b/gdk/win32/gdkvisual-win32.c
@@ -67,7 +67,7 @@ gdk_visual_get_type (void)
(GClassInitFunc) gdk_visual_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
- sizeof (GdkVisual),
+ sizeof (GdkVisualPrivate),
0, /* n_preallocs */
(GInstanceInitFunc) NULL,
};
diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c
index 863e75df10..3543501589 100644
--- a/gdk/win32/gdkwindow-win32.c
+++ b/gdk/win32/gdkwindow-win32.c
@@ -177,15 +177,18 @@ gdk_window_impl_win32_set_colormap (GdkDrawable *drawable,
GdkDrawableImplWin32 *draw_impl;
g_return_if_fail (GDK_IS_WINDOW_IMPL_WIN32 (drawable));
- g_return_if_fail (gdk_colormap_get_visual (cmap) != gdk_drawable_get_visual (drawable));
impl = GDK_WINDOW_IMPL_WIN32 (drawable);
draw_impl = GDK_DRAWABLE_IMPL_WIN32 (drawable);
- GDK_DRAWABLE_GET_CLASS (draw_impl)->set_colormap (drawable, cmap);
+ /* chain up */
+ GDK_DRAWABLE_CLASS (parent_class)->set_colormap (drawable, cmap);
- /* XXX */
- g_print("gdk_window_impl_win32_set_colormap: XXX\n");
+ if (cmap)
+ {
+ /* XXX */
+ g_print("gdk_window_impl_win32_set_colormap: XXX\n");
+ }
}
static void
@@ -896,6 +899,9 @@ gdk_window_hide (GdkWindow *window)
(guint) GDK_WINDOW_HWND (window)));
private->state |= GDK_WINDOW_STATE_WITHDRAWN;
+
+ _gdk_window_clear_update_area (window);
+
if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL)
ShowOwnedPopups (GDK_WINDOW_HWND (window), FALSE);
@@ -1082,6 +1088,9 @@ gdk_window_reparent (GdkWindow *window,
GdkWindowImplWin32 *impl;
g_return_if_fail (window != NULL);
+ g_return_if_fail (GDK_IS_WINDOW (window));
+ g_return_if_fail (new_parent == NULL || GDK_IS_WINDOW (new_parent));
+ g_return_if_fail (GDK_WINDOW_TYPE (window) != GDK_WINDOW_ROOT);
if (!new_parent)
new_parent = _gdk_parent_root;
@@ -1123,6 +1132,7 @@ gdk_window_reparent (GdkWindow *window,
gdk_window_set_static_win_gravity (window, parent_private->guffaw_gravity);
parent_private->children = g_list_prepend (parent_private->children, window);
+ _gdk_window_init_position (GDK_WINDOW (window_private));
}
void
@@ -1255,6 +1265,14 @@ gdk_window_set_hints (GdkWindow *window,
if (flags)
{
+ GdkGeometry geom;
+ gint geom_mask = 0;
+
+ geom.min_width = min_width;
+ geom.min_height = min_height;
+ geom.max_width = max_width;
+ geom.max_height = max_height;
+
if (flags & GDK_HINT_POS)
{
if (!GetWindowPlacement (GDK_WINDOW_HWND (window), &size_hints))
@@ -1302,47 +1320,12 @@ gdk_window_set_hints (GdkWindow *window,
}
if (flags & GDK_HINT_MIN_SIZE)
- {
- rect.left = 0;
- rect.top = 0;
- rect.right = min_width;
- rect.bottom = min_height;
- dwStyle = GetWindowLong (GDK_WINDOW_HWND (window), GWL_STYLE);
- dwExStyle = GetWindowLong (GDK_WINDOW_HWND (window), GWL_EXSTYLE);
- SafeAdjustWindowRectEx (&rect, dwStyle, FALSE, dwExStyle);
- impl->hint_min_width = rect.right - rect.left;
- impl->hint_min_height = rect.bottom - rect.top;
-
- /* Also check if he current size of the window is in bounds. */
- GetClientRect (GDK_WINDOW_HWND (window), &rect);
- if (rect.right < min_width && rect.bottom < min_height)
- gdk_window_resize (window, min_width, min_height);
- else if (rect.right < min_width)
- gdk_window_resize (window, min_width, rect.bottom);
- else if (rect.bottom < min_height)
- gdk_window_resize (window, rect.right, min_height);
- }
+ geom_mask |= GDK_HINT_MIN_SIZE;
if (flags & GDK_HINT_MAX_SIZE)
- {
- rect.left = 0;
- rect.top = 0;
- rect.right = max_width;
- rect.bottom = max_height;
- dwStyle = GetWindowLong (GDK_WINDOW_HWND (window), GWL_STYLE);
- dwExStyle = GetWindowLong (GDK_WINDOW_HWND (window), GWL_EXSTYLE);
- AdjustWindowRectEx (&rect, dwStyle, FALSE, dwExStyle);
- impl->hint_max_width = rect.right - rect.left;
- impl->hint_max_height = rect.bottom - rect.top;
- /* Again, check if the window is too large currently. */
- GetClientRect (GDK_WINDOW_HWND (window), &rect);
- if (rect.right > max_width && rect.bottom > max_height)
- gdk_window_resize (window, max_width, max_height);
- else if (rect.right > max_width)
- gdk_window_resize (window, max_width, rect.bottom);
- else if (rect.bottom > max_height)
- gdk_window_resize (window, rect.right, max_height);
- }
+ geom_mask |= GDK_HINT_MAX_SIZE;
+
+ gdk_window_set_geometry_hints (window, &geom, geom_mask);
}
}
@@ -1356,6 +1339,7 @@ gdk_window_set_geometry_hints (GdkWindow *window,
RECT rect;
DWORD dwStyle;
DWORD dwExStyle;
+ gint new_width = 0, new_height = 0;
g_return_if_fail (window != NULL);
g_return_if_fail (GDK_IS_WINDOW (window));
@@ -1385,13 +1369,20 @@ gdk_window_set_geometry_hints (GdkWindow *window,
/* Also check if he current size of the window is in bounds */
GetClientRect (GDK_WINDOW_HWND (window), &rect);
+
if (rect.right < geometry->min_width
&& rect.bottom < geometry->min_height)
- gdk_window_resize (window, geometry->min_width, geometry->min_height);
+ {
+ new_width = geometry->min_width; new_height = geometry->min_height;
+ }
else if (rect.right < geometry->min_width)
- gdk_window_resize (window, geometry->min_width, rect.bottom);
+ {
+ new_width = geometry->min_width; new_height = rect.bottom;
+ }
else if (rect.bottom < geometry->min_height)
- gdk_window_resize (window, rect.right, geometry->min_height);
+ {
+ new_width = rect.right; new_height = geometry->min_height;
+ }
}
if (geom_mask & GDK_HINT_MAX_SIZE)
@@ -1414,12 +1405,22 @@ gdk_window_set_geometry_hints (GdkWindow *window,
GetClientRect (GDK_WINDOW_HWND (window), &rect);
if (rect.right > geometry->max_width
&& rect.bottom > geometry->max_height)
- gdk_window_resize (window, geometry->max_width, geometry->max_height);
+ {
+ new_width = geometry->max_width; new_height = geometry->max_height;
+ }
else if (rect.right > geometry->max_width)
- gdk_window_resize (window, geometry->max_width, rect.bottom);
+ {
+ new_width = geometry->max_width; new_height = rect.bottom;
+ }
else if (rect.bottom > geometry->max_height)
- gdk_window_resize (window, rect.right, geometry->max_height);
+ {
+ new_width = rect.right; new_height = geometry->max_height;
+ }
}
+
+ /* finally apply new size constraints */
+ if (new_width != 0 && new_height != 0)
+ gdk_window_resize (window, new_width, new_height);
/* I don't know what to do when called with zero base_width and height. */
if (geom_mask & GDK_HINT_BASE_SIZE
@@ -1614,7 +1615,6 @@ gdk_window_set_cursor (GdkWindow *window,
GdkCursorPrivate *cursor_private;
HCURSOR hcursor;
HCURSOR hprevcursor;
- POINT pt;
g_return_if_fail (window != NULL);
g_return_if_fail (GDK_IS_WINDOW (window));
diff --git a/gdk/win32/makefile.msc b/gdk/win32/makefile.msc
index cd06d585f7..d1031932c5 100644
--- a/gdk/win32/makefile.msc
+++ b/gdk/win32/makefile.msc
@@ -9,13 +9,13 @@ WTKIT = ..\..\..\wtkit126
# Nothing much configurable below
TOP = ../../..
-!INCLUDE $(TOP)/build/win32/make.msc
+!INCLUDE $(TOP)/glib/build/win32/make.msc
GTK_VER=1.3
CFLAGS = -I. -I.. -I..\.. $(GLIB_CFLAGS) $(PANGO_CFLAGS) \
-I$(WTKIT)\include -I$(GLIB) \
- $(G_DEBUGGING) -DHAVE_CONFIG_H -DINSIDE_GDK_WIN32
+ $(G_DEBUGGING) -DHAVE_CONFIG_H -DINSIDE_GDK_WIN32 -DGDK_VERSION=\"$(GTK_VER)\"
all: \
..\..\config.h \
diff --git a/gtk/gtk.def b/gtk/gtk.def
index 38b5271df1..34230aa5f1 100755
--- a/gtk/gtk.def
+++ b/gtk/gtk.def
@@ -87,8 +87,6 @@ EXPORTS
GTK_TYPE_WINDOW_TYPE
GTK_TYPE_WRAP_MODE
- _gtk_drag_dest_handle_event
- _gtk_drag_source_handle_event
gtk_accel_group_activate
gtk_accel_group_add
gtk_accel_group_attach
@@ -221,6 +219,7 @@ EXPORTS
gtk_cell_renderer_text_get_type
gtk_cell_renderer_text_new
gtk_cell_renderer_text_set_fixed_height_from_font
+ gtk_cell_renderer_toggle_get_active
gtk_cell_renderer_toggle_get_radio
gtk_cell_renderer_toggle_get_type
gtk_cell_renderer_toggle_new
@@ -705,14 +704,17 @@ EXPORTS
gtk_idle_add_priority
gtk_idle_remove
gtk_idle_remove_by_data
+ gtk_im_context_delete_surrounding
gtk_im_context_filter_keypress
gtk_im_context_focus_in
gtk_im_context_focus_out
gtk_im_context_get_preedit_string
+ gtk_im_context_get_surrounding
gtk_im_context_get_type
gtk_im_context_reset
gtk_im_context_set_client_window
gtk_im_context_set_cursor_location
+ gtk_im_context_set_surrounding
gtk_im_context_set_use_preedit
gtk_im_context_simple_add_table
gtk_im_context_simple_get_type
@@ -900,6 +902,7 @@ EXPORTS
gtk_marshal_BOOLEAN__BOXED
gtk_marshal_BOOLEAN__BOXED_BOXED
gtk_marshal_BOOLEAN__ENUM
+ gtk_marshal_BOOLEAN__INT_INT
gtk_marshal_BOOLEAN__OBJECT_BOXED_BOXED
gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT
gtk_marshal_BOOLEAN__OBJECT_STRING_STRING_BOXED
@@ -909,9 +912,7 @@ EXPORTS
gtk_marshal_STRING__DOUBLE
gtk_marshal_VOID__BOOLEAN_BOOLEAN_BOOLEAN
gtk_marshal_VOID__BOXED_BOXED
- gtk_marshal_VOID__BOXED_BOXED_BOXED
gtk_marshal_VOID__BOXED_BOXED_POINTER
- gtk_marshal_VOID__BOXED_INT
gtk_marshal_VOID__BOXED_OBJECT
gtk_marshal_VOID__BOXED_POINTER
gtk_marshal_VOID__BOXED_STRING_INT
@@ -1578,7 +1579,6 @@ EXPORTS
gtk_text_mark_get_visible
gtk_text_mark_set_visible
gtk_text_new
- gtk_text_pixbuf_type
gtk_text_set_adjustments
gtk_text_set_editable
gtk_text_set_line_wrap
@@ -1864,7 +1864,6 @@ EXPORTS
gtk_tree_view_column_get_min_width
gtk_tree_view_column_get_reorderable
gtk_tree_view_column_get_sizing
- gtk_tree_view_column_get_sizing
gtk_tree_view_column_get_sort_column_id
gtk_tree_view_column_get_sort_indicator
gtk_tree_view_column_get_sort_order
@@ -1896,6 +1895,8 @@ EXPORTS
gtk_tree_view_column_set_widget
gtk_tree_view_columns_autosize
gtk_tree_view_create_row_drag_icon
+ gtk_tree_view_enable_model_drag_source
+ gtk_tree_view_enable_model_drag_dest
gtk_tree_view_expand_all
gtk_tree_view_expand_row
gtk_tree_view_get_background_area
@@ -1942,8 +1943,6 @@ EXPORTS
gtk_tree_view_set_headers_visible
gtk_tree_view_set_model
gtk_tree_view_set_reorderable
- gtk_tree_view_set_rows_drag_dest
- gtk_tree_view_set_rows_drag_source
gtk_tree_view_set_rules_hint
gtk_tree_view_set_search_column
gtk_tree_view_set_search_equal_func
@@ -2118,6 +2117,7 @@ EXPORTS
gtk_window_get_default_icon_list
gtk_window_get_default_size
gtk_window_get_destroy_with_parent
+ gtk_window_get_focus
gtk_window_get_frame_dimensions
gtk_window_get_gravity
gtk_window_get_has_frame
diff --git a/gtk/gtkfontsel.c b/gtk/gtkfontsel.c
index f9a67a88e0..6397537cbe 100644
--- a/gtk/gtkfontsel.c
+++ b/gtk/gtkfontsel.c
@@ -555,7 +555,7 @@ gtk_font_selection_show_available_fonts (GtkFontSelection *fontsel)
gtk_clist_append (GTK_CLIST (fontsel->font_clist), (char **)&name);
- if (!strcasecmp (name, "sans"))
+ if (!g_strcasecmp (name, "sans"))
match_row = i;
}
@@ -915,7 +915,7 @@ gtk_font_selection_set_font_name (GtkFontSelection *fontsel,
n_families = GTK_CLIST (fontsel->font_clist)->rows;
for (i = 0; i < n_families; i++)
{
- if (strcasecmp (pango_font_family_get_name (fontsel->families[i]),
+ if (g_strcasecmp (pango_font_family_get_name (fontsel->families[i]),
pango_font_description_get_family (new_desc)) == 0)
new_family = fontsel->families[i];
}
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index 89928d872f..464fc50df9 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -2166,6 +2166,22 @@ gtk_text_view_place_cursor_onscreen (GtkTextView *text_view)
}
static void
+gtk_text_view_remove_validate_idles (GtkTextView *text_view)
+{
+ if (text_view->first_validate_idle != 0)
+ {
+ g_source_remove (text_view->first_validate_idle);
+ text_view->first_validate_idle = 0;
+ }
+
+ if (text_view->incremental_validate_idle != 0)
+ {
+ g_source_remove (text_view->incremental_validate_idle);
+ text_view->incremental_validate_idle = 0;
+ }
+}
+
+static void
gtk_text_view_destroy (GtkObject *object)
{
GtkTextView *text_view;
@@ -2175,6 +2191,7 @@ gtk_text_view_destroy (GtkObject *object)
layout = text_view->layout;
+ gtk_text_view_remove_validate_idles (text_view);
gtk_text_view_set_buffer (text_view, NULL);
gtk_text_view_destroy_layout (text_view);
@@ -3080,17 +3097,7 @@ gtk_text_view_unrealize (GtkWidget *widget)
text_view->cursor_gc = NULL;
}
- if (text_view->first_validate_idle)
- {
- g_source_remove (text_view->first_validate_idle);
- text_view->first_validate_idle = 0;
- }
-
- if (text_view->incremental_validate_idle)
- {
- g_source_remove (text_view->incremental_validate_idle);
- text_view->incremental_validate_idle = 0;
- }
+ gtk_text_view_remove_validate_idles (text_view);
if (text_view->popup_menu)
{
@@ -4719,17 +4726,7 @@ gtk_text_view_destroy_layout (GtkTextView *text_view)
{
GSList *tmp_list;
- if (text_view->first_validate_idle)
- {
- g_source_remove (text_view->first_validate_idle);
- text_view->first_validate_idle = 0;
- }
-
- if (text_view->incremental_validate_idle)
- {
- g_source_remove (text_view->incremental_validate_idle);
- text_view->incremental_validate_idle = 0;
- }
+ gtk_text_view_remove_validate_idles (text_view);
/* Remove layout from all anchored children */
tmp_list = text_view->children;
diff --git a/gtk/makefile.msc.in b/gtk/makefile.msc.in
index ca43604490..815cc46352 100644
--- a/gtk/makefile.msc.in
+++ b/gtk/makefile.msc.in
@@ -5,7 +5,7 @@
## how to install for yourself.
TOP = ..\..
-!INCLUDE $(TOP)/build/win32/make.msc
+!INCLUDE $(TOP)/glib/build/win32/make.msc
################################################################
@@ -17,6 +17,7 @@ GDK_PIXBUF_VER = @GDK_PIXBUF_MAJOR@.@GDK_PIXBUF_MINOR@
GDK_LIBS = ../gdk/gdk-win32-$(GTK_VER).lib
GTK_LIBS = gtk-win32-$(GTK_VER).lib
GDK_PIXBUF_LIBS = ../gdk-pixbuf/gdk_pixbuf-$(GDK_PIXBUF_VER).lib
+GTK_BINARY_VERSION = @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@LT_CURRENT@
# Perl and awk are needed to generate some source files.
# These generated source files are distribuyted with the Win32 GTk+ source
@@ -30,7 +31,8 @@ DEPCFLAGS = $(PANGO_CFLAGS) $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) \
LDFLAGS = $(ATK_LIBS) $(DIRENT_LIBS) /link /machine:ix86 $(LINKDEBUG)
# Some files use near as an identifier
# Don't define GTK_COMPILATION here, because it's for gtk-x.x.dll only
-DEFINES = $(G_DEBUGGING) -DG_LOG_DOMAIN=\"Gtk\" -Dnear=xxnear -DGTK_VERSION=\"$(GTK_VER)\"
+DEFINES = $(G_DEBUGGING) -DGTK_DISABLE_COMPAT_H -DG_LOG_DOMAIN=\"Gtk\" -Dnear=xxnear \
+ -DGTK_VERSION=\"$(GTK_VER)\" -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\"
TOUCH = copy makefile.msc+nul
diff --git a/gtk/stock-icons/makefile.msc b/gtk/stock-icons/makefile.msc
index 32cfdaae65..2d877a0b39 100644
--- a/gtk/stock-icons/makefile.msc
+++ b/gtk/stock-icons/makefile.msc
@@ -37,6 +37,7 @@ VARIABLES = \
stock_menu_print_preview stock_menu_print_preview.png \
stock_menu_sort_ascending stock_menu_sort_ascending.png \
stock_menu_sort_descending stock_menu_sort_descending.png \
+ stock_missing_image stock_broken_image.png \
stock_new stock_new.png \
stock_open stock_open.png \
stock_paste stock_paste.png \
diff --git a/tests/makefile.msc b/tests/makefile.msc
index 76bc25e3ec..10bcef81c0 100644
--- a/tests/makefile.msc
+++ b/tests/makefile.msc
@@ -5,7 +5,7 @@
## how to install for yourself.
TOP = ..\..
-!INCLUDE $(TOP)/build/win32/make.msc
+!INCLUDE $(TOP)/glib/build/win32/make.msc
################################################################