Commit 0b5db507 authored by Hans Breuer's avatar Hans Breuer Committed by Hans Breuer

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
parent 4041a889
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
Sat Aug 11 14:32:14 2001 Owen Taylor <otaylor@redhat.com> Sat Aug 11 14:32:14 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some * gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some
......
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
Sat Aug 11 14:32:14 2001 Owen Taylor <otaylor@redhat.com> Sat Aug 11 14:32:14 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some * gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some
......
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
Sat Aug 11 14:32:14 2001 Owen Taylor <otaylor@redhat.com> Sat Aug 11 14:32:14 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some * gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some
......
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
Sat Aug 11 14:32:14 2001 Owen Taylor <otaylor@redhat.com> Sat Aug 11 14:32:14 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some * gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some
......
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
Sat Aug 11 14:32:14 2001 Owen Taylor <otaylor@redhat.com> Sat Aug 11 14:32:14 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some * gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some
......
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
Sat Aug 11 14:32:14 2001 Owen Taylor <otaylor@redhat.com> Sat Aug 11 14:32:14 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some * gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some
......
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
Sat Aug 11 14:32:14 2001 Owen Taylor <otaylor@redhat.com> Sat Aug 11 14:32:14 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some * gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some
......
...@@ -991,9 +991,9 @@ gdk_win32_hdc_get (GdkDrawable *drawable, ...@@ -991,9 +991,9 @@ gdk_win32_hdc_get (GdkDrawable *drawable,
if (GDK_IS_DRAWABLE_IMPL_WIN32 (drawable)) if (GDK_IS_DRAWABLE_IMPL_WIN32 (drawable))
impl = GDK_DRAWABLE_IMPL_WIN32(drawable); impl = GDK_DRAWABLE_IMPL_WIN32(drawable);
else if (GDK_IS_WINDOW (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)) 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; win32_gc->hwnd = impl->handle;
...@@ -1209,9 +1209,9 @@ gdk_win32_hdc_release (GdkDrawable *drawable, ...@@ -1209,9 +1209,9 @@ gdk_win32_hdc_release (GdkDrawable *drawable,
if (GDK_IS_DRAWABLE_IMPL_WIN32 (drawable)) if (GDK_IS_DRAWABLE_IMPL_WIN32 (drawable))
impl = GDK_DRAWABLE_IMPL_WIN32(drawable); impl = GDK_DRAWABLE_IMPL_WIN32(drawable);
else if (GDK_IS_WINDOW (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)) 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) if (usage & GDK_GC_FOREGROUND)
{ {
...@@ -1241,7 +1241,8 @@ gdk_win32_hdc_release (GdkDrawable *drawable, ...@@ -1241,7 +1241,8 @@ gdk_win32_hdc_release (GdkDrawable *drawable,
} }
else else
{ {
ReleaseDC (win32_gc->hwnd, win32_gc->hdc); if (!ReleaseDC (win32_gc->hwnd, win32_gc->hdc))
WIN32_GDI_FAILED ("ReleaseDC");
} }
if (hpen != NULL) if (hpen != NULL)
......
...@@ -423,11 +423,13 @@ _gdk_win32_get_image (GdkDrawable *drawable, ...@@ -423,11 +423,13 @@ _gdk_win32_get_image (GdkDrawable *drawable,
if (GDK_IS_PIXMAP (drawable)) if (GDK_IS_PIXMAP (drawable))
{ {
SelectObject (hdc, oldbitmap1); SelectObject (hdc, oldbitmap1);
DeleteDC (hdc); if (!DeleteDC (hdc))
WIN32_GDI_FAILED ("DeleteDC");
} }
else else
{ {
ReleaseDC (impl->handle, hdc); if (!ReleaseDC (impl->handle, hdc))
WIN32_GDI_FAILED ("ReleaseDC");
} }
g_free (image); g_free (image);
return NULL; return NULL;
......
...@@ -530,8 +530,9 @@ gdk_window_new (GdkWindow *parent, ...@@ -530,8 +530,9 @@ gdk_window_new (GdkWindow *parent,
dwExStyle = WS_EX_TRANSPARENT; dwExStyle = WS_EX_TRANSPARENT;
private->depth = 0; private->depth = 0;
private->input_only = TRUE; private->input_only = TRUE;
draw_impl->colormap = NULL; draw_impl->colormap = gdk_colormap_get_system ();
GDK_NOTE (MISC, g_print ("...GDK_INPUT_ONLY, NULL colormap\n")); gdk_colormap_ref (draw_impl->colormap);
GDK_NOTE (MISC, g_print ("...GDK_INPUT_ONLY, system colormap\n"));
} }
if (parent_private) if (parent_private)
...@@ -1505,8 +1506,10 @@ gdk_window_set_transient_for (GdkWindow *window, ...@@ -1505,8 +1506,10 @@ gdk_window_set_transient_for (GdkWindow *window,
if (!SetWindowLong (window_id, GWL_STYLE, style)) if (!SetWindowLong (window_id, GWL_STYLE, style))
WIN32_API_FAILED ("SetWindowLong"); WIN32_API_FAILED ("SetWindowLong");
#if 0 /* not sure if we want to do this, clipping to parent size! */
if (!SetParent (window_id, parent_id)) if (!SetParent (window_id, parent_id))
WIN32_API_FAILED ("SetParent"); WIN32_API_FAILED ("SetParent");
#endif
if (!RedrawWindow (window_id, NULL, NULL, if (!RedrawWindow (window_id, NULL, NULL,
RDW_FRAME | RDW_INVALIDATE | RDW_UPDATENOW)) RDW_FRAME | RDW_INVALIDATE | RDW_UPDATENOW))
...@@ -1751,6 +1754,11 @@ gdk_window_get_frame_extents (GdkWindow *window, ...@@ -1751,6 +1754,11 @@ gdk_window_get_frame_extents (GdkWindow *window,
HWND hwnd; HWND hwnd;
RECT r; 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->x = 0;
rect->y = 0; rect->y = 0;
rect->width = 1; rect->width = 1;
...@@ -1759,6 +1767,9 @@ gdk_window_get_frame_extents (GdkWindow *window, ...@@ -1759,6 +1767,9 @@ gdk_window_get_frame_extents (GdkWindow *window,
if (GDK_WINDOW_DESTROYED (window)) if (GDK_WINDOW_DESTROYED (window))
return; return;
while (private->parent && ((GdkWindowObject*) private->parent)->parent)
private = (GdkWindowObject*) private->parent;
hwnd = GDK_WINDOW_HWND (window); hwnd = GDK_WINDOW_HWND (window);
/* find the frame window */ /* find the frame window */
while (HWND_DESKTOP != GetParent (hwnd)) while (HWND_DESKTOP != GetParent (hwnd))
...@@ -1767,7 +1778,7 @@ gdk_window_get_frame_extents (GdkWindow *window, ...@@ -1767,7 +1778,7 @@ gdk_window_get_frame_extents (GdkWindow *window,
g_return_if_fail (NULL != hwnd); g_return_if_fail (NULL != hwnd);
} }
if (GetWindowRect (hwnd, &r)) if (!GetWindowRect (hwnd, &r))
WIN32_API_FAILED ("GetWindowRect"); WIN32_API_FAILED ("GetWindowRect");
rect->x = r.left; rect->x = r.left;
......
...@@ -247,8 +247,6 @@ gtk_alignment_set (GtkAlignment *alignment, ...@@ -247,8 +247,6 @@ gtk_alignment_set (GtkAlignment *alignment,
gfloat xscale, gfloat xscale,
gfloat yscale) gfloat yscale)
{ {
gboolean values_changed = FALSE;
g_return_if_fail (GTK_IS_ALIGNMENT (alignment)); g_return_if_fail (GTK_IS_ALIGNMENT (alignment));
xalign = CLAMP (xalign, 0.0, 1.0); xalign = CLAMP (xalign, 0.0, 1.0);
...@@ -256,34 +254,36 @@ gtk_alignment_set (GtkAlignment *alignment, ...@@ -256,34 +254,36 @@ gtk_alignment_set (GtkAlignment *alignment,
xscale = CLAMP (xscale, 0.0, 1.0); xscale = CLAMP (xscale, 0.0, 1.0);
yscale = CLAMP (yscale, 0.0, 1.0); yscale = CLAMP (yscale, 0.0, 1.0);
if (alignment->xalign != xalign) if ( (alignment->xalign != xalign)
{ || (alignment->yalign != yalign)
values_changed = TRUE; || (alignment->xscale != xscale)
alignment->xalign = xalign; || (alignment->yscale != yscale))
g_object_notify (G_OBJECT(alignment), "xalign");
}
if (alignment->yalign != yalign)
{
values_changed = TRUE;
alignment->yalign = yalign;
g_object_notify (G_OBJECT(alignment), "yalign");
}
if (alignment->xscale != xscale)
{
values_changed = TRUE;
alignment->xscale = xscale;
g_object_notify (G_OBJECT(alignment), "xscale");
}
if (alignment->yscale != yscale)
{
values_changed = TRUE;
alignment->yscale = yscale;
g_object_notify (G_OBJECT(alignment), "yscale");
}
if (values_changed == TRUE)
{ {
gtk_widget_size_allocate (GTK_WIDGET (alignment), &(GTK_WIDGET (alignment)->allocation)); g_object_freeze_notify (G_OBJECT (alignment));
if (alignment->xalign != xalign)
{
alignment->xalign = xalign;
g_object_notify (G_OBJECT(alignment), "xalign");
}
if (alignment->yalign != yalign)
{
alignment->yalign = yalign;
g_object_notify (G_OBJECT(alignment), "yalign");
}
if (alignment->xscale != xscale)
{
alignment->xscale = xscale;
g_object_notify (G_OBJECT(alignment), "xscale");
}
if (alignment->yscale != yscale)
{
alignment->yscale = yscale;
g_object_notify (G_OBJECT(alignment), "yscale");
}
g_object_thaw_notify (G_OBJECT (alignment));
if (GTK_BIN (alignment)->child)
gtk_widget_queue_resize (GTK_BIN (alignment)->child);
gtk_widget_queue_draw (GTK_WIDGET (alignment)); gtk_widget_queue_draw (GTK_WIDGET (alignment));
} }
} }
......
...@@ -194,26 +194,27 @@ gtk_arrow_set (GtkArrow *arrow, ...@@ -194,26 +194,27 @@ gtk_arrow_set (GtkArrow *arrow,
GtkArrowType arrow_type, GtkArrowType arrow_type,
GtkShadowType shadow_type) GtkShadowType shadow_type)
{ {
gboolean changed = FALSE;
g_return_if_fail (GTK_IS_ARROW (arrow)); g_return_if_fail (GTK_IS_ARROW (arrow));
if ((GtkArrowType) arrow->arrow_type != arrow_type) if ( ((GtkArrowType) arrow->arrow_type != arrow_type)
|| ((GtkShadowType) arrow->shadow_type != shadow_type))
{ {
arrow->arrow_type = arrow_type; g_object_freeze_notify (G_OBJECT (arrow));
g_object_notify (G_OBJECT (arrow), "arrow_type");
changed = TRUE;
}
if ((GtkShadowType) arrow->shadow_type != shadow_type) if ((GtkArrowType) arrow->arrow_type != arrow_type)
{ {
arrow->shadow_type = shadow_type; arrow->arrow_type = arrow_type;
g_object_notify (G_OBJECT (arrow), "shadow_type"); g_object_notify (G_OBJECT (arrow), "arrow_type");
changed = TRUE; }
}
if ((GtkShadowType) arrow->shadow_type != shadow_type)
{
arrow->shadow_type = shadow_type;
g_object_notify (G_OBJECT (arrow), "shadow_type");
}
g_object_thaw_notify (G_OBJECT (arrow));
if (changed == TRUE)
{
if (GTK_WIDGET_DRAWABLE (arrow)) if (GTK_WIDGET_DRAWABLE (arrow))
gtk_widget_queue_clear (GTK_WIDGET (arrow)); gtk_widget_queue_clear (GTK_WIDGET (arrow));
} }
......
...@@ -241,8 +241,6 @@ gtk_aspect_frame_set (GtkAspectFrame *aspect_frame, ...@@ -241,8 +241,6 @@ gtk_aspect_frame_set (GtkAspectFrame *aspect_frame,
gfloat ratio, gfloat ratio,
gboolean obey_child) gboolean obey_child)
{ {
gboolean needs_resize = FALSE;
g_return_if_fail (GTK_IS_ASPECT_FRAME (aspect_frame)); g_return_if_fail (GTK_IS_ASPECT_FRAME (aspect_frame));
xalign = CLAMP (xalign, 0.0, 1.0); xalign = CLAMP (xalign, 0.0, 1.0);
...@@ -250,33 +248,37 @@ gtk_aspect_frame_set (GtkAspectFrame *aspect_frame, ...@@ -250,33 +248,37 @@ gtk_aspect_frame_set (GtkAspectFrame *aspect_frame,
ratio = CLAMP (ratio, MIN_RATIO, MAX_RATIO); ratio = CLAMP (ratio, MIN_RATIO, MAX_RATIO);
obey_child = obey_child != FALSE; obey_child = obey_child != FALSE;
if (aspect_frame->xalign != xalign) if ( (aspect_frame->xalign != xalign)
|| (aspect_frame->yalign != yalign)
|| (aspect_frame->ratio != ratio)
|| (aspect_frame->obey_child != obey_child))
{ {
aspect_frame->xalign = xalign; g_object_freeze_notify (G_OBJECT (aspect_frame));
g_object_notify (G_OBJECT (aspect_frame), "xalign");
needs_resize = TRUE; if (aspect_frame->xalign != xalign)
} {
if (aspect_frame->yalign != yalign) aspect_frame->xalign = xalign;
{ g_object_notify (G_OBJECT (aspect_frame), "xalign");
aspect_frame->yalign = yalign; }
g_object_notify (G_OBJECT (aspect_frame), "yalign"); if (aspect_frame->yalign != yalign)
needs_resize = TRUE; {
} aspect_frame->yalign = yalign;
if (aspect_frame->ratio != ratio) g_object_notify (G_OBJECT (aspect_frame), "yalign");
{ }
aspect_frame->ratio = ratio; if (aspect_frame->ratio != ratio)
g_object_notify (G_OBJECT (aspect_frame), "ratio"); {
needs_resize = TRUE; aspect_frame->ratio = ratio;
} g_object_notify (G_OBJECT (aspect_frame), "ratio");
if (aspect_frame->obey_child != obey_child) }
{ if (aspect_frame->obey_child != obey_child)
aspect_frame->obey_child = obey_child; {
g_object_notify (G_OBJECT (aspect_frame), "obey_child"); aspect_frame->obey_child = obey_child;
needs_resize = TRUE; g_object_notify (G_OBJECT (aspect_frame), "obey_child");
} }
g_object_thaw_notify (G_OBJECT (aspect_frame));
if (needs_resize == TRUE)
gtk_widget_queue_resize (GTK_WIDGET(aspect_frame)); gtk_widget_queue_resize (GTK_WIDGET(aspect_frame));
}
} }
static void static void
......
...@@ -428,16 +428,23 @@ gtk_cell_renderer_set_fixed_size (GtkCellRenderer *cell, ...@@ -428,16 +428,23 @@ gtk_cell_renderer_set_fixed_size (GtkCellRenderer *cell,
g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell));
g_return_if_fail (width >= -1 && height >= -1); g_return_if_fail (width >= -1 && height >= -1);
if (width != cell->width) if ((width != cell->width) || (height != cell->height))
{ {
cell->width = width; g_object_freeze_notify (G_OBJECT (cell));
g_object_notify (G_OBJECT (cell), "width");
}
if (height != cell->height) if (width != cell->width)
{ {
cell->height = height; cell->width = width;
g_object_notify (G_OBJECT (cell), "height"); g_object_notify (G_OBJECT (cell), "width");
}
if (height != cell->height)
{
cell->height = height;
g_object_notify (G_OBJECT (cell), "height");
}
g_object_thaw_notify (G_OBJECT (cell));
} }
} }
......
...@@ -657,6 +657,7 @@ set_font_description (GtkCellRendererText *celltext, ...@@ -657,6 +657,7 @@ set_font_description (GtkCellRendererText *celltext,
} }
else else
{ {
g_object_freeze_notify (G_OBJECT (celltext));
if (celltext->family_set) if (celltext->family_set)
{ {
celltext->family_set = FALSE; celltext->family_set = FALSE;
...@@ -687,6 +688,7 @@ set_font_description (GtkCellRendererText *celltext, ...@@ -687,6 +688,7 @@ set_font_description (GtkCellRendererText *celltext,
celltext->size_set = FALSE; celltext->size_set = FALSE;
g_object_notify (G_OBJECT (celltext), "size_set"); g_object_notify (G_OBJECT (celltext), "size_set");
} }
g_object_thaw_notify (G_OBJECT (celltext));
} }
} }
......
...@@ -618,7 +618,7 @@ gtk_clist_class_init (GtkCListClass *klass) ...@@ -618,7 +618,7 @@ gtk_clist_class_init (GtkCListClass *klass)
GTK_TYPE_NONE, 3, GTK_TYPE_NONE, 3,
GTK_TYPE_INT, GTK_TYPE_INT,
GTK_TYPE_INT, GTK_TYPE_INT,
GDK_TYPE_EVENT); GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
clist_signals[UNSELECT_ROW] = clist_signals[UNSELECT_ROW] =
gtk_signal_new ("unselect_row", gtk_signal_new ("unselect_row",
GTK_RUN_FIRST, GTK_RUN_FIRST,
......
...@@ -903,8 +903,10 @@ gtk_combo_set_use_arrows_always (GtkCombo * combo, gboolean val) ...@@ -903,8 +903,10 @@ gtk_combo_set_use_arrows_always (GtkCombo * combo, gboolean val)
combo->use_arrows_always = val; combo->use_arrows_always = val;
combo->use_arrows = TRUE; combo->use_arrows = TRUE;
g_object_freeze_notify (G_OBJECT (combo));
g_object_notify (G_OBJECT (combo), "enable_arrow_keys"); g_object_notify (G_OBJECT (combo), "enable_arrow_keys");
g_object_notify (G_OBJECT (combo), "enable_arrows_always"); g_object_notify (G_OBJECT (combo), "enable_arrows_always");
g_object_thaw_notify (G_OBJECT (combo));
} }
void void
......
...@@ -824,6 +824,7 @@ gtk_curve_set_range (GtkCurve *curve, ...@@ -824,6 +824,7 @@ gtk_curve_set_range (GtkCurve *curve,
gfloat min_y, gfloat min_y,
gfloat max_y) gfloat max_y)
{ {
g_object_freeze_notify (G_OBJECT (curve));
if (curve->min_x != min_x) { if (curve->min_x != min_x) {
curve->min_x = min_x; curve->min_x = min_x;
g_object_notify (G_OBJECT (curve), "min_x"); g_object_notify (G_OBJECT (curve), "min_x");
...@@ -840,6 +841,7 @@ gtk_curve_set_range (GtkCurve *curve, ...@@ -840,6 +841,7 @@ gtk_curve_set_range (GtkCurve *curve,
curve->max_y = max_y; curve->max_y = max_y;
g_object_notify (G_OBJECT (curve), "max_y"); g_object_notify (G_OBJECT (curve), "max_y");
} }
g_object_thaw_notify (G_OBJECT (curve));
gtk_curve_size_graph (curve); gtk_curve_size_graph (curve);
gtk_curve_reset_vector (curve); gtk_curve_reset_vector (curve);
......
...@@ -890,8 +890,10 @@ gtk_font_selection_set_font_name (GtkFontSelection *fontsel, ...@@ -890,8 +890,10 @@ gtk_font_selection_set_font_name (GtkFontSelection *fontsel,
pango_font_description_free (fontsel->font_desc); pango_font_description_free (fontsel->font_desc);
fontsel->font_desc = new_desc; fontsel->font_desc = new_desc;
g_object_freeze_notify (G_OBJECT (fontsel));
g_object_notify (G_OBJECT (fontsel), "font_name"); g_object_notify (G_OBJECT (fontsel), "font_name");
g_object_notify (G_OBJECT (fontsel), "font"); g_object_notify (G_OBJECT (fontsel), "font");
g_object_thaw_notify (G_OBJECT (fontsel));
return TRUE; return TRUE;
} }
......
...@@ -356,6 +356,7 @@ gtk_layout_set_size (GtkLayout *layout, ...@@ -356,6 +356,7 @@ gtk_layout_set_size (GtkLayout *layout,
widget = GTK_WIDGET (layout); widget = GTK_WIDGET (layout);
g_object_freeze_notify (G_OBJECT (layout));
if (width != layout->width) if (width != layout->width)
{ {
layout->width = width; layout->width = width;
...@@ -366,6 +367,7 @@ gtk_layout_set_size (GtkLayout *layout, ...@@ -366,6 +367,7 @@ gtk_layout_set_size (GtkLayout *layout,
layout->height = height; layout->height = height;
g_object_notify (G_OBJECT (layout), "height"); g_object_notify (G_OBJECT (layout), "height");
} }
g_object_thaw_notify (G_OBJECT (layout));
gtk_layout_set_adjustment_upper (layout->hadjustment, layout->width); gtk_layout_set_adjustment_upper (layout->hadjustment, layout->width);
gtk_layout_set_adjustment_upper (layout->vadjustment, layout->height); gtk_layout_set_adjustment_upper (layout->vadjustment, layout->height);
......
...@@ -233,11 +233,13 @@ gtk_misc_set_alignment (GtkMisc *misc, ...@@ -233,11 +233,13 @@ gtk_misc_set_alignment (GtkMisc *misc,
gtk_widget_queue_clear (widget); gtk_widget_queue_clear (widget);
} }
g_object_freeze_notify (G_OBJECT (misc));
if (xalign != misc->xalign) if (xalign != misc->xalign)
g_object_notify (G_OBJECT (misc), "xalign"); g_object_notify (G_OBJECT (misc), "xalign");
if (yalign != misc->yalign) if (yalign != misc->yalign)
g_object_notify (G_OBJECT (misc), "yalign"); g_object_notify (G_OBJECT (misc), "yalign");
g_object_thaw_notify (G_OBJECT (misc));
} }
} }
...@@ -292,11 +294,13 @@ gtk_misc_set_padding (GtkMisc *misc, ...@@ -292,11 +294,13 @@ gtk_misc_set_padding (GtkMisc *misc,
if (GTK_WIDGET_DRAWABLE (misc)) if (GTK_WIDGET_DRAWABLE (misc))
gtk_widget_queue_resize (GTK_WIDGET (misc)); gtk_widget_queue_resize (GTK_WIDGET (misc));
g_object_freeze_notify (G_OBJECT (misc));
if (xpad != misc->xpad) if (xpad != misc->xpad)
g_object_notify (G_OBJECT (misc), "xpad"); g_object_notify (G_OBJECT (misc), "xpad");
if (ypad != misc->ypad) if (ypad != misc->ypad)
g_object_notify (G_OBJECT (misc), "ypad"); g_object_notify (G_OBJECT (misc), "ypad");
g_object_thaw_notify (G_OBJECT (misc));
} }
} }
......
...@@ -627,10 +627,12 @@ gtk_packer_set_default_pad (GtkPacker *packer, ...@@ -627,10 +627,12 @@ gtk_packer_set_default_pad (GtkPacker *packer,