summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorHans Breuer <hans@breuer.org>2001-08-11 20:27:36 +0000
committerHans Breuer <hans@src.gnome.org>2001-08-11 20:27:36 +0000
commit0b5db507da8fff0c9d4fad16c4b4fc569ffb3ec0 (patch)
treeb7c4593df4d6ff4ee476a9944e515698d6fe99ac /gdk
parent4041a889cd7f8219568ffbf49a611029786680eb (diff)
downloadgtk+-0b5db507da8fff0c9d4fad16c4b4fc569ffb3ec0.tar.gz
coalescing property notifies
2001-08-11 Hans Breuer <hans@breuer.org> * gtk/gtkalignment.c, gtk/gtkarrow.c, gtk/gtkaspectframe.c, gtk/gtkcellrenderer.c, gtk/gtkcellrenderertext.c, gtk/gtkcombo.c, gtk/gtkcurve.c, gtk/gtkfontsel.c, gtk/gtklayout.c, gtk/gtkmisc.c, gtk/gtkpacker.c, gtk/gtkprogress.c, gtk/gtkruler.c,, gtk/gtksettings.c, gtk/gtkspinbutton.c, gtk/gtktexttag.c : coalescing property notifies * gtk/gtkclist.c, gtk/gtktipsquery.c, gtk/gtktexttag.c, gtk/gtkwidget.c : added G_SIGNAL_TYPE_STATIC_SCOPE to all GDK_TYPE_EVENT signals * gtk/gtkalignment.c : removed 'direct allocation bug', which Tim discovered while reading the patch
Diffstat (limited to 'gdk')
-rw-r--r--gdk/win32/gdkgc-win32.c11
-rw-r--r--gdk/win32/gdkimage-win32.c6
-rw-r--r--gdk/win32/gdkwindow-win32.c17
3 files changed, 24 insertions, 10 deletions
diff --git a/gdk/win32/gdkgc-win32.c b/gdk/win32/gdkgc-win32.c
index e08673da8d..312809a556 100644
--- a/gdk/win32/gdkgc-win32.c
+++ b/gdk/win32/gdkgc-win32.c
@@ -991,9 +991,9 @@ gdk_win32_hdc_get (GdkDrawable *drawable,
if (GDK_IS_DRAWABLE_IMPL_WIN32 (drawable))
impl = GDK_DRAWABLE_IMPL_WIN32(drawable);
else if (GDK_IS_WINDOW (drawable))
- impl = ((GdkWindowObject *) drawable)->impl;
+ impl = GDK_DRAWABLE_IMPL_WIN32 ((GDK_WINDOW_OBJECT (drawable))->impl);
else if (GDK_IS_PIXMAP (drawable))
- impl = ((GdkPixmapObject *) drawable)->impl;
+ impl = GDK_DRAWABLE_IMPL_WIN32 ((GDK_PIXMAP_OBJECT (drawable))->impl);
win32_gc->hwnd = impl->handle;
@@ -1209,9 +1209,9 @@ gdk_win32_hdc_release (GdkDrawable *drawable,
if (GDK_IS_DRAWABLE_IMPL_WIN32 (drawable))
impl = GDK_DRAWABLE_IMPL_WIN32(drawable);
else if (GDK_IS_WINDOW (drawable))
- impl = ((GdkWindowObject *) drawable)->impl;
+ impl = GDK_DRAWABLE_IMPL_WIN32 ((GDK_WINDOW_OBJECT (drawable))->impl);
else if (GDK_IS_PIXMAP (drawable))
- impl = ((GdkPixmapObject *) drawable)->impl;
+ impl = GDK_DRAWABLE_IMPL_WIN32 ((GDK_PIXMAP_OBJECT (drawable))->impl);
if (usage & GDK_GC_FOREGROUND)
{
@@ -1241,7 +1241,8 @@ gdk_win32_hdc_release (GdkDrawable *drawable,
}
else
{
- ReleaseDC (win32_gc->hwnd, win32_gc->hdc);
+ if (!ReleaseDC (win32_gc->hwnd, win32_gc->hdc))
+ WIN32_GDI_FAILED ("ReleaseDC");
}
if (hpen != NULL)
diff --git a/gdk/win32/gdkimage-win32.c b/gdk/win32/gdkimage-win32.c
index 86f90ebf78..b204f850d0 100644
--- a/gdk/win32/gdkimage-win32.c
+++ b/gdk/win32/gdkimage-win32.c
@@ -423,11 +423,13 @@ _gdk_win32_get_image (GdkDrawable *drawable,
if (GDK_IS_PIXMAP (drawable))
{
SelectObject (hdc, oldbitmap1);
- DeleteDC (hdc);
+ if (!DeleteDC (hdc))
+ WIN32_GDI_FAILED ("DeleteDC");
}
else
{
- ReleaseDC (impl->handle, hdc);
+ if (!ReleaseDC (impl->handle, hdc))
+ WIN32_GDI_FAILED ("ReleaseDC");
}
g_free (image);
return NULL;
diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c
index 3e2874e4c8..1d6e7deeb4 100644
--- a/gdk/win32/gdkwindow-win32.c
+++ b/gdk/win32/gdkwindow-win32.c
@@ -530,8 +530,9 @@ gdk_window_new (GdkWindow *parent,
dwExStyle = WS_EX_TRANSPARENT;
private->depth = 0;
private->input_only = TRUE;
- draw_impl->colormap = NULL;
- GDK_NOTE (MISC, g_print ("...GDK_INPUT_ONLY, NULL colormap\n"));
+ draw_impl->colormap = gdk_colormap_get_system ();
+ gdk_colormap_ref (draw_impl->colormap);
+ GDK_NOTE (MISC, g_print ("...GDK_INPUT_ONLY, system colormap\n"));
}
if (parent_private)
@@ -1505,8 +1506,10 @@ gdk_window_set_transient_for (GdkWindow *window,
if (!SetWindowLong (window_id, GWL_STYLE, style))
WIN32_API_FAILED ("SetWindowLong");
+#if 0 /* not sure if we want to do this, clipping to parent size! */
if (!SetParent (window_id, parent_id))
WIN32_API_FAILED ("SetParent");
+#endif
if (!RedrawWindow (window_id, NULL, NULL,
RDW_FRAME | RDW_INVALIDATE | RDW_UPDATENOW))
@@ -1751,6 +1754,11 @@ gdk_window_get_frame_extents (GdkWindow *window,
HWND hwnd;
RECT r;
+ g_return_if_fail (GDK_IS_WINDOW (window));
+ g_return_if_fail (rect != NULL);
+
+ private = GDK_WINDOW_OBJECT (window);
+
rect->x = 0;
rect->y = 0;
rect->width = 1;
@@ -1759,6 +1767,9 @@ gdk_window_get_frame_extents (GdkWindow *window,
if (GDK_WINDOW_DESTROYED (window))
return;
+ while (private->parent && ((GdkWindowObject*) private->parent)->parent)
+ private = (GdkWindowObject*) private->parent;
+
hwnd = GDK_WINDOW_HWND (window);
/* find the frame window */
while (HWND_DESKTOP != GetParent (hwnd))
@@ -1767,7 +1778,7 @@ gdk_window_get_frame_extents (GdkWindow *window,
g_return_if_fail (NULL != hwnd);
}
- if (GetWindowRect (hwnd, &r))
+ if (!GetWindowRect (hwnd, &r))
WIN32_API_FAILED ("GetWindowRect");
rect->x = r.left;