[gimp] Build with GSEAL_ENABLE with a few exceptions
- From: Michael Natterer <mitch src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gimp] Build with GSEAL_ENABLE with a few exceptions
- Date: Sat, 17 Oct 2009 16:53:20 +0000 (UTC)
commit fcd346a227bacdf998f6ba8879aa0c9696a244a7
Author: Michael Natterer <mitch gimp org>
Date: Sat Oct 17 18:51:48 2009 +0200
Build with GSEAL_ENABLE with a few exceptions
Use the new accessors in GTK+ 2.18 and #undef GSEAL_ENABLE where
accessors are missing or where I'm not quite sure how to fix the
stuff yet.
libgimpwidgets/gimpcellrenderercolor.c | 35 +++++++----
libgimpwidgets/gimpcellrenderertoggle.c | 33 +++++++----
libgimpwidgets/gimpchainbutton.c | 25 +++++----
libgimpwidgets/gimpcolorarea.c | 16 +++---
libgimpwidgets/gimpcolorbutton.c | 2 +-
libgimpwidgets/gimpcolorscale.c | 74 ++++++++++++++----------
libgimpwidgets/gimpcolorselect.c | 62 +++++++++++---------
libgimpwidgets/gimpframe.c | 30 ++++++----
libgimpwidgets/gimpoffsetarea.c | 7 ++-
libgimpwidgets/gimpoldwidgets.c | 27 ++++++---
libgimpwidgets/gimppixmap.c | 12 +++-
libgimpwidgets/gimppreview.c | 2 +
libgimpwidgets/gimppreviewarea.c | 18 ++++--
libgimpwidgets/gimpruler.c | 96 +++++++++++++++++++------------
libgimpwidgets/gimpscrolledpreview.c | 24 +++++---
libgimpwidgets/gimpsizeentry.c | 2 +
libgimpwidgets/gimpunitmenu.c | 2 +
17 files changed, 288 insertions(+), 179 deletions(-)
---
diff --git a/libgimpwidgets/gimpcellrenderercolor.c b/libgimpwidgets/gimpcellrenderercolor.c
index ea4161b..10fdc1a 100644
--- a/libgimpwidgets/gimpcellrenderercolor.c
+++ b/libgimpwidgets/gimpcellrenderercolor.c
@@ -177,24 +177,29 @@ gimp_cell_renderer_color_get_size (GtkCellRenderer *cell,
GimpCellRendererColor *color = GIMP_CELL_RENDERER_COLOR (cell);
gint calc_width;
gint calc_height;
+ gfloat xalign;
+ gfloat yalign;
+ gint xpad;
+ gint ypad;
gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (widget),
color->size, &calc_width, &calc_height);
+ gtk_cell_renderer_get_alignment (cell, &xalign, &yalign);
+ gtk_cell_renderer_get_padding (cell, &xpad, &ypad);
if (cell_area && calc_width > 0 && calc_height > 0)
{
if (x_offset)
{
*x_offset = (((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) ?
- 1.0 - cell->xalign : cell->xalign) *
+ 1.0 - xalign : xalign) *
(cell_area->width - calc_width));
- *x_offset = MAX (*x_offset, 0) + cell->xpad;
+ *x_offset = MAX (*x_offset, 0) + xpad;
}
if (y_offset)
{
- *y_offset = (cell->yalign *
- (cell_area->height - calc_height));
- *y_offset = MAX (*y_offset, 0) + cell->ypad;
+ *y_offset = (yalign * (cell_area->height - calc_height));
+ *y_offset = MAX (*y_offset, 0) + ypad;
}
}
else
@@ -206,9 +211,9 @@ gimp_cell_renderer_color_get_size (GtkCellRenderer *cell,
}
if (width)
- *width = calc_width + 2 * cell->xpad;
+ *width = calc_width + 2 * xpad;
if (height)
- *height = calc_height + 2 * cell->ypad;
+ *height = calc_height + 2 * ypad;
}
static void
@@ -222,6 +227,8 @@ gimp_cell_renderer_color_render (GtkCellRenderer *cell,
{
GimpCellRendererColor *color = GIMP_CELL_RENDERER_COLOR (cell);
GdkRectangle rect;
+ gint xpad;
+ gint ypad;
gimp_cell_renderer_color_get_size (cell, widget, cell_area,
&rect.x,
@@ -229,10 +236,12 @@ gimp_cell_renderer_color_render (GtkCellRenderer *cell,
&rect.width,
&rect.height);
- rect.x += cell_area->x + cell->xpad;
- rect.y += cell_area->y + cell->ypad;
- rect.width -= 2 * cell->xpad;
- rect.height -= 2 * cell->ypad;
+ gtk_cell_renderer_get_padding (cell, &xpad, &ypad);
+
+ rect.x += cell_area->x + xpad;
+ rect.y += cell_area->y + ypad;
+ rect.width -= 2 * xpad;
+ rect.height -= 2 * ypad;
if (rect.width > 2 && rect.height > 2)
{
@@ -273,8 +282,8 @@ gimp_cell_renderer_color_render (GtkCellRenderer *cell,
rect.x + 0.5, rect.y + 0.5,
rect.width - 1, rect.height - 1);
- if (! cell->sensitive ||
- GTK_WIDGET_STATE (widget) == GTK_STATE_INSENSITIVE)
+ if (! gtk_cell_renderer_get_sensitive (cell) ||
+ ! gtk_widget_is_sensitive (widget))
{
state = GTK_STATE_INSENSITIVE;
}
diff --git a/libgimpwidgets/gimpcellrenderertoggle.c b/libgimpwidgets/gimpcellrenderertoggle.c
index fdddc9f..1234e10 100644
--- a/libgimpwidgets/gimpcellrenderertoggle.c
+++ b/libgimpwidgets/gimpcellrenderertoggle.c
@@ -224,6 +224,10 @@ gimp_cell_renderer_toggle_get_size (GtkCellRenderer *cell,
gint calc_height;
gint pixbuf_width;
gint pixbuf_height;
+ gfloat xalign;
+ gfloat yalign;
+ gint xpad;
+ gint ypad;
if (! toggle->stock_id)
{
@@ -235,6 +239,9 @@ gimp_cell_renderer_toggle_get_size (GtkCellRenderer *cell,
return;
}
+ gtk_cell_renderer_get_alignment (cell, &xalign, &yalign);
+ gtk_cell_renderer_get_padding (cell, &xpad, &ypad);
+
if (! toggle->pixbuf)
gimp_cell_renderer_toggle_create_pixbuf (toggle, widget);
@@ -242,9 +249,9 @@ gimp_cell_renderer_toggle_get_size (GtkCellRenderer *cell,
pixbuf_height = gdk_pixbuf_get_height (toggle->pixbuf);
calc_width = (pixbuf_width +
- (gint) cell->xpad * 2 + style->xthickness * 2);
+ (gint) xpad * 2 + style->xthickness * 2);
calc_height = (pixbuf_height +
- (gint) cell->ypad * 2 + style->ythickness * 2);
+ (gint) ypad * 2 + style->ythickness * 2);
if (width)
*width = calc_width;
@@ -257,14 +264,14 @@ gimp_cell_renderer_toggle_get_size (GtkCellRenderer *cell,
if (x_offset)
{
*x_offset = (((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) ?
- (1.0 - cell->xalign) : cell->xalign) *
+ (1.0 - xalign) : xalign) *
(cell_area->width - calc_width));
*x_offset = MAX (*x_offset, 0);
}
if (y_offset)
{
- *y_offset = cell->yalign * (cell_area->height - calc_height);
+ *y_offset = yalign * (cell_area->height - calc_height);
*y_offset = MAX (*y_offset, 0);
}
}
@@ -285,6 +292,8 @@ gimp_cell_renderer_toggle_render (GtkCellRenderer *cell,
GdkRectangle draw_rect;
GtkStateType state;
gboolean active;
+ gint xpad;
+ gint ypad;
if (! toggle->stock_id)
{
@@ -301,10 +310,12 @@ gimp_cell_renderer_toggle_render (GtkCellRenderer *cell,
&toggle_rect.width,
&toggle_rect.height);
- toggle_rect.x += cell_area->x + cell->xpad;
- toggle_rect.y += cell_area->y + cell->ypad;
- toggle_rect.width -= cell->xpad * 2;
- toggle_rect.height -= cell->ypad * 2;
+ gtk_cell_renderer_get_padding (cell, &xpad, &ypad);
+
+ toggle_rect.x += cell_area->x + xpad;
+ toggle_rect.y += cell_area->y + ypad;
+ toggle_rect.width -= xpad * 2;
+ toggle_rect.height -= ypad * 2;
if (toggle_rect.width <= 0 || toggle_rect.height <= 0)
return;
@@ -314,14 +325,14 @@ gimp_cell_renderer_toggle_render (GtkCellRenderer *cell,
if ((flags & GTK_CELL_RENDERER_SELECTED) == GTK_CELL_RENDERER_SELECTED)
{
- if (GTK_WIDGET_HAS_FOCUS (widget))
+ if (gtk_widget_has_focus (widget))
state = GTK_STATE_SELECTED;
else
state = GTK_STATE_ACTIVE;
}
else
{
- if (GTK_CELL_RENDERER_TOGGLE (cell)->activatable)
+ if (gtk_cell_renderer_toggle_get_activatable (GTK_CELL_RENDERER_TOGGLE (cell)))
state = GTK_STATE_NORMAL;
else
state = GTK_STATE_INSENSITIVE;
@@ -372,7 +383,7 @@ gimp_cell_renderer_toggle_activate (GtkCellRenderer *cell,
{
GtkCellRendererToggle *toggle = GTK_CELL_RENDERER_TOGGLE (cell);
- if (toggle->activatable)
+ if (gtk_cell_renderer_toggle_get_activatable (toggle))
{
GdkModifierType state = 0;
diff --git a/libgimpwidgets/gimpchainbutton.c b/libgimpwidgets/gimpchainbutton.c
index 8eeca6e..c60e276 100644
--- a/libgimpwidgets/gimpchainbutton.c
+++ b/libgimpwidgets/gimpchainbutton.c
@@ -335,7 +335,7 @@ gimp_chain_line_class_init (GimpChainLineClass *klass)
static void
gimp_chain_line_init (GimpChainLine *line)
{
- GTK_WIDGET_SET_FLAGS (line, GTK_NO_WINDOW);
+ gtk_widget_set_has_window (GTK_WIDGET (line), FALSE);
}
static GtkWidget *
@@ -355,14 +355,17 @@ gimp_chain_line_expose_event (GtkWidget *widget,
GdkEventExpose *event)
{
GimpChainLine *line = ((GimpChainLine *) widget);
+ GtkAllocation allocation;
GdkPoint points[3];
GdkPoint buf;
GtkShadowType shadow;
GimpChainPosition position;
+ gtk_widget_get_allocation (widget, &allocation);
+
#define SHORT_LINE 4
- points[0].x = widget->allocation.x + widget->allocation.width / 2;
- points[0].y = widget->allocation.y + widget->allocation.height / 2;
+ points[0].x = allocation.x + allocation.width / 2;
+ points[0].y = allocation.y + allocation.height / 2;
position = line->position;
@@ -392,8 +395,8 @@ gimp_chain_line_expose_event (GtkWidget *widget,
points[1].y = points[0].y;
points[2].x = points[1].x;
points[2].y = (line->which == 1 ?
- widget->allocation.y + widget->allocation.height - 1 :
- widget->allocation.y);
+ allocation.y + allocation.height - 1 :
+ allocation.y);
shadow = GTK_SHADOW_ETCHED_IN;
break;
@@ -403,8 +406,8 @@ gimp_chain_line_expose_event (GtkWidget *widget,
points[1].y = points[0].y;
points[2].x = points[1].x;
points[2].y = (line->which == 1 ?
- widget->allocation.y + widget->allocation.height - 1 :
- widget->allocation.y);
+ allocation.y + allocation.height - 1 :
+ allocation.y);
shadow = GTK_SHADOW_ETCHED_OUT;
break;
@@ -413,8 +416,8 @@ gimp_chain_line_expose_event (GtkWidget *widget,
points[1].x = points[0].x;
points[1].y = points[0].y - SHORT_LINE;
points[2].x = (line->which == 1 ?
- widget->allocation.x + widget->allocation.width - 1 :
- widget->allocation.x);
+ allocation.x + allocation.width - 1 :
+ allocation.x);
points[2].y = points[1].y;
shadow = GTK_SHADOW_ETCHED_OUT;
break;
@@ -424,8 +427,8 @@ gimp_chain_line_expose_event (GtkWidget *widget,
points[1].x = points[0].x;
points[1].y = points[0].y + SHORT_LINE;
points[2].x = (line->which == 1 ?
- widget->allocation.x + widget->allocation.width - 1 :
- widget->allocation.x);
+ allocation.x + allocation.width - 1 :
+ allocation.x);
points[2].y = points[1].y;
shadow = GTK_SHADOW_ETCHED_IN;
break;
diff --git a/libgimpwidgets/gimpcolorarea.c b/libgimpwidgets/gimpcolorarea.c
index a709c98..7ca9b2f 100644
--- a/libgimpwidgets/gimpcolorarea.c
+++ b/libgimpwidgets/gimpcolorarea.c
@@ -289,11 +289,11 @@ gimp_color_area_size_allocate (GtkWidget *widget,
if (GTK_WIDGET_CLASS (parent_class)->size_allocate)
GTK_WIDGET_CLASS (parent_class)->size_allocate (widget, allocation);
- if (widget->allocation.width != area->width ||
- widget->allocation.height != area->height)
+ if (allocation->width != area->width ||
+ allocation->height != area->height)
{
- area->width = widget->allocation.width;
- area->height = widget->allocation.height;
+ area->width = allocation->width;
+ area->height = allocation->height;
area->rowstride = (area->width * 3 + 3) & ~0x3;
@@ -308,7 +308,7 @@ static void
gimp_color_area_state_changed (GtkWidget *widget,
GtkStateType previous_state)
{
- if (widget->state == GTK_STATE_INSENSITIVE ||
+ if (gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE ||
previous_state == GTK_STATE_INSENSITIVE)
{
GIMP_COLOR_AREA (widget)->needs_render = TRUE;
@@ -326,7 +326,7 @@ gimp_color_area_expose (GtkWidget *widget,
GtkStyle *style = gtk_widget_get_style (widget);
guchar *buf;
- if (! area->buf || ! GTK_WIDGET_DRAWABLE (widget))
+ if (! area->buf || ! gtk_widget_is_drawable (widget))
return FALSE;
if (area->needs_render)
@@ -348,7 +348,7 @@ gimp_color_area_expose (GtkWidget *widget,
if (area->draw_border)
gdk_draw_rectangle (gtk_widget_get_window (widget),
- style->fg_gc[widget->state],
+ style->fg_gc[gtk_widget_get_state (widget)],
FALSE,
0, 0,
area->width - 1, area->height - 1);
@@ -645,7 +645,7 @@ gimp_color_area_render (GimpColorArea *area)
return;
_gimp_color_area_render_buf (GTK_WIDGET (area),
- ! GTK_WIDGET_IS_SENSITIVE (area),
+ ! gtk_widget_is_sensitive (GTK_WIDGET (area)),
area->type,
area->buf,
area->width, area->height, area->rowstride,
diff --git a/libgimpwidgets/gimpcolorbutton.c b/libgimpwidgets/gimpcolorbutton.c
index 57bece1..21a3a79 100644
--- a/libgimpwidgets/gimpcolorbutton.c
+++ b/libgimpwidgets/gimpcolorbutton.c
@@ -455,7 +455,7 @@ gimp_color_button_state_changed (GtkWidget *widget,
{
g_return_if_fail (GIMP_IS_COLOR_BUTTON (widget));
- if (! GTK_WIDGET_IS_SENSITIVE (widget) && GIMP_COLOR_BUTTON (widget)->dialog)
+ if (! gtk_widget_is_sensitive (widget) && GIMP_COLOR_BUTTON (widget)->dialog)
gtk_widget_hide (GIMP_COLOR_BUTTON (widget)->dialog);
if (GTK_WIDGET_CLASS (parent_class)->state_changed)
diff --git a/libgimpwidgets/gimpcolorscale.c b/libgimpwidgets/gimpcolorscale.c
index 005bde3..207d06f 100644
--- a/libgimpwidgets/gimpcolorscale.c
+++ b/libgimpwidgets/gimpcolorscale.c
@@ -24,6 +24,8 @@
#include <string.h>
+#undef GSEAL_ENABLE
+
#include <gtk/gtk.h>
#include "libgimpcolor/gimpcolor.h"
@@ -76,12 +78,13 @@ gimp_color_scale_init (GimpColorScale *scale)
{
GtkRange *range = GTK_RANGE (scale);
- GTK_SCALE (scale)->draw_value = FALSE;
-
range->slider_size_fixed = TRUE;
- range->flippable = TRUE;
/* range->update_policy = GTK_UPDATE_DELAYED; */
+ gtk_range_set_flippable (GTK_RANGE (scale), TRUE);
+
+ gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE);
+
scale->channel = GIMP_COLOR_SELECTOR_VALUE;
scale->needs_render = TRUE;
@@ -124,7 +127,7 @@ gimp_color_scale_size_allocate (GtkWidget *widget,
"trough-border", &trough_border,
NULL);
- if (GTK_WIDGET_CAN_FOCUS (widget))
+ if (gtk_widget_get_can_focus (widget))
{
gint focus_padding = 0;
@@ -175,7 +178,7 @@ static void
gimp_color_scale_state_changed (GtkWidget *widget,
GtkStateType previous_state)
{
- if (widget->state == GTK_STATE_INSENSITIVE ||
+ if (gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE ||
previous_state == GTK_STATE_INSENSITIVE)
{
GIMP_COLOR_SCALE (widget)->needs_render = TRUE;
@@ -239,6 +242,7 @@ gimp_color_scale_expose (GtkWidget *widget,
GtkRange *range = GTK_RANGE (widget);
GtkStyle *style = gtk_widget_get_style (widget);
GdkWindow *window = gtk_widget_get_window (widget);
+ GtkAllocation allocation;
GdkRectangle expose_area; /* Relative to widget->allocation */
GdkRectangle area;
gint focus = 0;
@@ -247,7 +251,7 @@ gimp_color_scale_expose (GtkWidget *widget,
gint x, y;
gint w, h;
- if (! scale->buf || ! GTK_WIDGET_DRAWABLE (widget))
+ if (! scale->buf || ! gtk_widget_is_drawable (widget))
return FALSE;
/* This is ugly as it relies heavily on GTK+ internals, but I see no
@@ -266,7 +270,7 @@ gimp_color_scale_expose (GtkWidget *widget,
"trough-border", &trough_border,
NULL);
- if (GTK_WIDGET_CAN_FOCUS (widget))
+ if (gtk_widget_get_can_focus (widget))
{
gint focus_padding = 0;
@@ -277,20 +281,22 @@ gimp_color_scale_expose (GtkWidget *widget,
focus += focus_padding;
}
- x = widget->allocation.x + range->range_rect.x + focus;
- y = widget->allocation.y + range->range_rect.y + focus;
+ gtk_widget_get_allocation (widget, &allocation);
+
+ x = allocation.x + range->range_rect.x + focus;
+ y = allocation.y + range->range_rect.y + focus;
w = range->range_rect.width - 2 * focus;
h = range->range_rect.height - 2 * focus;
slider_size = range->min_slider_size / 2;
expose_area = event->area;
- expose_area.x -= widget->allocation.x;
- expose_area.y -= widget->allocation.y;
+ expose_area.x -= allocation.x;
+ expose_area.y -= allocation.y;
if (gdk_rectangle_intersect (&expose_area, &range->range_rect, &area))
{
- gboolean sensitive = (GTK_WIDGET_STATE (widget) != GTK_STATE_INSENSITIVE);
+ gboolean sensitive = gtk_widget_is_sensitive (widget);
if (scale->needs_render)
{
@@ -302,8 +308,8 @@ gimp_color_scale_expose (GtkWidget *widget,
scale->needs_render = FALSE;
}
- area.x += widget->allocation.x;
- area.y += widget->allocation.y;
+ area.x += allocation.x;
+ area.y += allocation.y;
gtk_paint_box (style, window,
sensitive ? GTK_STATE_ACTIVE : GTK_STATE_INSENSITIVE,
@@ -345,18 +351,18 @@ gimp_color_scale_expose (GtkWidget *widget,
gdk_gc_set_clip_rectangle (style->black_gc, NULL);
}
- if (GTK_WIDGET_IS_SENSITIVE (widget) && GTK_WIDGET_HAS_FOCUS (range))
- gtk_paint_focus (style, window, GTK_WIDGET_STATE (widget),
+ if (gtk_widget_has_focus (widget))
+ gtk_paint_focus (style, window, gtk_widget_get_state (widget),
&area, widget, "trough",
- widget->allocation.x + range->range_rect.x,
- widget->allocation.y + range->range_rect.y,
+ allocation.x + range->range_rect.x,
+ allocation.y + range->range_rect.y,
range->range_rect.width,
range->range_rect.height);
switch (gtk_orientable_get_orientation (GTK_ORIENTABLE (range)))
{
case GTK_ORIENTATION_HORIZONTAL:
- area.x = widget->allocation.x + range->slider_start;
+ area.x = allocation.x + range->slider_start;
area.y = y + trough_border;
area.width = 2 * slider_size + 1;
area.height = h - 2 * trough_border;
@@ -364,7 +370,7 @@ gimp_color_scale_expose (GtkWidget *widget,
case GTK_ORIENTATION_VERTICAL:
area.x = x + trough_border;
- area.y = widget->allocation.y + range->slider_start;
+ area.y = allocation.y + range->slider_start;
area.width = w - 2 * trough_border;
area.height = 2 * slider_size + 1;
break;
@@ -374,7 +380,7 @@ gimp_color_scale_expose (GtkWidget *widget,
{
GdkGC *gc;
- gc = (GTK_WIDGET_IS_SENSITIVE (widget) ?
+ gc = (gtk_widget_is_sensitive (widget) ?
style->black_gc :
style->dark_gc[GTK_STATE_INSENSITIVE]);
@@ -396,7 +402,7 @@ gimp_color_scale_expose (GtkWidget *widget,
gdk_gc_set_clip_rectangle (gc, NULL);
- gc = (GTK_WIDGET_IS_SENSITIVE (widget) ?
+ gc = (gtk_widget_is_sensitive (widget) ?
style->white_gc :
style->light_gc[GTK_STATE_INSENSITIVE]);
@@ -441,7 +447,8 @@ gimp_color_scale_new (GtkOrientation orientation,
scale->channel = channel;
- GTK_RANGE (scale)->flippable = (orientation == GTK_ORIENTATION_HORIZONTAL);
+ gtk_range_set_flippable (GTK_RANGE (scale),
+ orientation == GTK_ORIENTATION_HORIZONTAL);
return GTK_WIDGET (scale);
}
@@ -496,16 +503,23 @@ gimp_color_scale_set_color (GimpColorScale *scale,
static gboolean
should_invert (GtkRange *range)
{
+ gboolean inverted = gtk_range_get_inverted (range);
+ gboolean flippable = gtk_range_get_flippable (range);
+
if (gtk_orientable_get_orientation (GTK_ORIENTABLE (range)) ==
GTK_ORIENTATION_HORIZONTAL)
- return
- (range->inverted && !range->flippable) ||
- (range->inverted && range->flippable &&
- gtk_widget_get_direction (GTK_WIDGET (range)) == GTK_TEXT_DIR_LTR) ||
- (!range->inverted && range->flippable &&
- gtk_widget_get_direction (GTK_WIDGET (range)) == GTK_TEXT_DIR_RTL);
+ {
+ return
+ (inverted && !flippable) ||
+ (inverted && flippable &&
+ gtk_widget_get_direction (GTK_WIDGET (range)) == GTK_TEXT_DIR_LTR) ||
+ (!inverted && flippable &&
+ gtk_widget_get_direction (GTK_WIDGET (range)) == GTK_TEXT_DIR_RTL);
+ }
else
- return range->inverted;
+ {
+ return inverted;
+ }
}
static void
diff --git a/libgimpwidgets/gimpcolorselect.c b/libgimpwidgets/gimpcolorselect.c
index 6789963..4c374a7 100644
--- a/libgimpwidgets/gimpcolorselect.c
+++ b/libgimpwidgets/gimpcolorselect.c
@@ -643,8 +643,8 @@ gimp_color_select_xy_events (GtkWidget *widget,
GdkEvent *event,
GimpColorSelect *select)
{
- gint width, height;
- gint x, y;
+ GtkAllocation allocation;
+ gint x, y;
switch (event->type)
{
@@ -701,13 +701,12 @@ gimp_color_select_xy_events (GtkWidget *widget,
gimp_color_select_draw_xy_marker (select, NULL);
- width = select->xy_color->allocation.width;
- height = select->xy_color->allocation.height;
+ gtk_widget_get_allocation (select->xy_color, &allocation);
- if (width > 1 && height > 1)
+ if (allocation.width > 1 && allocation.height > 1)
{
- select->pos[0] = (x * 255) / (width - 1);
- select->pos[1] = 255 - (y * 255) / (height - 1);
+ select->pos[0] = (x * 255) / (allocation.width - 1);
+ select->pos[1] = 255 - (y * 255) / (allocation.height - 1);
}
select->pos[0] = CLAMP (select->pos[0], 0, 255);
@@ -749,8 +748,8 @@ gimp_color_select_z_events (GtkWidget *widget,
GdkEvent *event,
GimpColorSelect *select)
{
- gint height;
- gint z;
+ GtkAllocation allocation;
+ gint z;
switch (event->type)
{
@@ -804,10 +803,10 @@ gimp_color_select_z_events (GtkWidget *widget,
gimp_color_select_draw_z_marker (select, NULL);
- height = select->z_color->allocation.height;
+ gtk_widget_get_allocation (select->z_color, &allocation);
- if (height > 1)
- select->pos[2] = 255 - (z * 255) / (height - 1);
+ if (allocation.height > 1)
+ select->pos[2] = 255 - (z * 255) / (allocation.height - 1);
select->pos[2] = CLAMP (select->pos[2], 0, 255);
@@ -827,12 +826,15 @@ gimp_color_select_image_fill (GtkWidget *preview,
const GimpHSV *hsv,
const GimpRGB *rgb)
{
+ GtkAllocation allocation;
ColorSelectFill csf;
+ gtk_widget_get_allocation (preview, &allocation);
+
csf.update = update_procs[fill_type];
- csf.width = preview->allocation.width;
- csf.height = preview->allocation.height;
+ csf.width = allocation.width;
+ csf.height = allocation.height;
csf.hsv = *hsv;
csf.rgb = *rgb;
@@ -856,17 +858,20 @@ static void
gimp_color_select_draw_z_marker (GimpColorSelect *select,
GdkRectangle *clip)
{
- gint width;
- gint height;
- gint y;
- gint minx;
- gint miny;
+ GtkAllocation allocation;
+ gint width;
+ gint height;
+ gint y;
+ gint minx;
+ gint miny;
if (! select->gc)
return;
- width = select->z_color->allocation.width;
- height = select->z_color->allocation.height;
+ gtk_widget_get_allocation (select->z_color, &allocation);
+
+ width = allocation.width;
+ height = allocation.height;
if (width < 1 || height < 1)
return;
@@ -897,16 +902,19 @@ static void
gimp_color_select_draw_xy_marker (GimpColorSelect *select,
GdkRectangle *clip)
{
- gint width;
- gint height;
- gint x, y;
- gint minx, miny;
+ GtkAllocation allocation;
+ gint width;
+ gint height;
+ gint x, y;
+ gint minx, miny;
if (! select->gc)
return;
- width = select->xy_color->allocation.width;
- height = select->xy_color->allocation.height;
+ gtk_widget_get_allocation (select->xy_color, &allocation);
+
+ width = allocation.width;
+ height = allocation.height;
if (width < 1 || height < 1)
return;
diff --git a/libgimpwidgets/gimpframe.c b/libgimpwidgets/gimpframe.c
index 38d52a2..e809d52 100644
--- a/libgimpwidgets/gimpframe.c
+++ b/libgimpwidgets/gimpframe.c
@@ -23,6 +23,8 @@
#include <string.h>
+#undef GSEAL_ENABLE
+
#include <gtk/gtk.h>
#include "gimpwidgetstypes.h"
@@ -103,7 +105,7 @@ gimp_frame_size_request (GtkWidget *widget,
GtkRequisition child_requisition;
gint border_width;
- if (label_widget && GTK_WIDGET_VISIBLE (label_widget))
+ if (label_widget && gtk_widget_get_visible (label_widget))
{
gtk_widget_size_request (label_widget, requisition);
}
@@ -115,7 +117,7 @@ gimp_frame_size_request (GtkWidget *widget,
requisition->height += gimp_frame_get_label_spacing (frame);
- if (child && GTK_WIDGET_VISIBLE (child))
+ if (child && gtk_widget_get_visible (child))
{
gint indent = gimp_frame_get_indent (widget);
@@ -140,14 +142,14 @@ gimp_frame_size_allocate (GtkWidget *widget,
GtkWidget *label_widget = gtk_frame_get_label_widget (frame);
GtkWidget *child = gtk_bin_get_child (GTK_BIN (widget));
- widget->allocation = *allocation;
+ gtk_widget_set_allocation (widget, allocation);
gimp_frame_child_allocate (frame, &frame->child_allocation);
- if (child && GTK_WIDGET_VISIBLE (child))
+ if (child && gtk_widget_get_visible (child))
gtk_widget_size_allocate (child, &frame->child_allocation);
- if (label_widget && GTK_WIDGET_VISIBLE (label_widget))
+ if (label_widget && gtk_widget_get_visible (label_widget))
{
GtkAllocation label_allocation;
GtkRequisition label_requisition;
@@ -173,14 +175,16 @@ gimp_frame_child_allocate (GtkFrame *frame,
{
GtkWidget *widget = GTK_WIDGET (frame);
GtkWidget *label_widget = gtk_frame_get_label_widget (frame);
- GtkAllocation *allocation = &widget->allocation;
+ GtkAllocation allocation;
gint border_width;
gint spacing = 0;
gint indent = gimp_frame_get_indent (widget);
+ gtk_widget_get_allocation (widget, &allocation);
+
border_width = gtk_container_get_border_width (GTK_CONTAINER (frame));
- if (label_widget && GTK_WIDGET_VISIBLE (label_widget))
+ if (label_widget && gtk_widget_get_visible (label_widget))
{
GtkRequisition child_requisition;
@@ -197,13 +201,13 @@ gimp_frame_child_allocate (GtkFrame *frame,
child_allocation->y = border_width + spacing;
child_allocation->width = MAX (1,
- allocation->width - 2 * border_width - indent);
+ allocation.width - 2 * border_width - indent);
child_allocation->height = MAX (1,
- allocation->height -
+ allocation.height -
child_allocation->y - border_width);
- child_allocation->x += allocation->x;
- child_allocation->y += allocation->y;
+ child_allocation->x += allocation.x;
+ child_allocation->y += allocation.y;
}
static void
@@ -221,7 +225,7 @@ static gboolean
gimp_frame_expose_event (GtkWidget *widget,
GdkEventExpose *event)
{
- if (GTK_WIDGET_DRAWABLE (widget))
+ if (gtk_widget_is_drawable (widget))
{
GtkWidgetClass *widget_class = g_type_class_peek_parent (parent_class);
@@ -307,7 +311,7 @@ gimp_frame_get_label_spacing (GtkFrame *frame)
GtkWidget *label_widget = gtk_frame_get_label_widget (frame);
gint spacing = 0;
- if ((label_widget && GTK_WIDGET_VISIBLE (label_widget)) ||
+ if ((label_widget && gtk_widget_get_visible (label_widget)) ||
(g_object_get_data (G_OBJECT (frame), GIMP_FRAME_IN_EXPANDER_KEY)))
{
gtk_widget_style_get (GTK_WIDGET (frame),
diff --git a/libgimpwidgets/gimpoffsetarea.c b/libgimpwidgets/gimpoffsetarea.c
index c3ebae6..3802fdc 100644
--- a/libgimpwidgets/gimpoffsetarea.c
+++ b/libgimpwidgets/gimpoffsetarea.c
@@ -391,10 +391,13 @@ gimp_offset_area_expose_event (GtkWidget *widget,
GimpOffsetArea *area = GIMP_OFFSET_AREA (widget);
GtkStyle *style = gtk_widget_get_style (widget);
GdkWindow *window = gtk_widget_get_window (widget);
+ GtkAllocation allocation;
GdkPixbuf *pixbuf;
gint w, h;
gint x, y;
+ gtk_widget_get_allocation (widget, &allocation);
+
x = (area->display_ratio_x *
((area->orig_width <= area->width) ?
area->offset_x :
@@ -438,7 +441,7 @@ gimp_offset_area_expose_event (GtkWidget *widget,
else
{
x = -1;
- w = widget->allocation.width + 2;
+ w = allocation.width + 2;
}
if (area->orig_height > area->height)
@@ -449,7 +452,7 @@ gimp_offset_area_expose_event (GtkWidget *widget,
else
{
y = -1;
- h = widget->allocation.height + 2;
+ h = allocation.height + 2;
}
w = MAX (w, 1);
diff --git a/libgimpwidgets/gimpoldwidgets.c b/libgimpwidgets/gimpoldwidgets.c
index 7cc00ce..b6bee2a 100644
--- a/libgimpwidgets/gimpoldwidgets.c
+++ b/libgimpwidgets/gimpoldwidgets.c
@@ -384,14 +384,15 @@ void
gimp_option_menu_set_history (GtkOptionMenu *option_menu,
gpointer item_data)
{
+ GList *children;
GList *list;
gint history = 0;
g_return_if_fail (GTK_IS_OPTION_MENU (option_menu));
- for (list = GTK_MENU_SHELL (option_menu->menu)->children;
- list;
- list = g_list_next (list))
+ children = gtk_container_get_children (GTK_CONTAINER (option_menu->menu));
+
+ for (list = children; list; list = g_list_next (list))
{
GtkWidget *menu_item = GTK_WIDGET (list->data);
@@ -407,6 +408,8 @@ gimp_option_menu_set_history (GtkOptionMenu *option_menu,
if (list)
gtk_option_menu_set_history (option_menu, history);
+
+ g_list_free (children);
}
/**
@@ -446,14 +449,15 @@ gimp_option_menu_set_sensitive (GtkOptionMenu *option_menu,
GimpOptionMenuSensitivityCallback callback,
gpointer callback_data)
{
+ GList *children;
GList *list;
g_return_if_fail (GTK_IS_OPTION_MENU (option_menu));
g_return_if_fail (callback != NULL);
- for (list = GTK_MENU_SHELL (option_menu->menu)->children;
- list;
- list = g_list_next (list))
+ children = gtk_container_get_children (GTK_CONTAINER (option_menu->menu));
+
+ for (list = children; list; list = g_list_next (list))
{
GtkWidget *menu_item = GTK_WIDGET (list->data);
@@ -468,6 +472,8 @@ gimp_option_menu_set_sensitive (GtkOptionMenu *option_menu,
gtk_widget_set_sensitive (menu_item, sensitive);
}
}
+
+ g_list_free (children);
}
/**
@@ -489,14 +495,15 @@ gimp_int_option_menu_set_sensitive (GtkOptionMenu *option
GimpIntOptionMenuSensitivityCallback callback,
gpointer callback_data)
{
+ GList *children;
GList *list;
g_return_if_fail (GTK_IS_OPTION_MENU (option_menu));
g_return_if_fail (callback != NULL);
- for (list = GTK_MENU_SHELL (option_menu->menu)->children;
- list;
- list = g_list_next (list))
+ children = gtk_container_get_children (GTK_CONTAINER (option_menu->menu));
+
+ for (list = children; list; list = g_list_next (list))
{
GtkWidget *menu_item = GTK_WIDGET (list->data);
@@ -511,6 +518,8 @@ gimp_int_option_menu_set_sensitive (GtkOptionMenu *option
gtk_widget_set_sensitive (menu_item, sensitive);
}
}
+
+ g_list_free (children);
}
diff --git a/libgimpwidgets/gimppixmap.c b/libgimpwidgets/gimppixmap.c
index 8e23e3f..b5cf5f1 100644
--- a/libgimpwidgets/gimppixmap.c
+++ b/libgimpwidgets/gimppixmap.c
@@ -21,6 +21,8 @@
#include "config.h"
+#undef GSEAL_ENABLE
+
#include <stdio.h>
#include <gtk/gtk.h>
@@ -102,10 +104,12 @@ gimp_pixmap_set (GimpPixmap *pixmap,
}
else
{
- GTK_WIDGET (pixmap)->requisition.width =
- width + GTK_MISC (pixmap)->xpad * 2;
- GTK_WIDGET (pixmap)->requisition.height =
- height + GTK_MISC (pixmap)->ypad * 2;
+ gint xpad, ypad;
+
+ gtk_misc_get_padding (GTK_MISC (pixmap), &xpad, &ypad);
+
+ GTK_WIDGET (pixmap)->requisition.width = width + xpad * 2;
+ GTK_WIDGET (pixmap)->requisition.height = height + ypad * 2;
}
}
}
diff --git a/libgimpwidgets/gimppreview.c b/libgimpwidgets/gimppreview.c
index 090520c..c0f1ee0 100644
--- a/libgimpwidgets/gimppreview.c
+++ b/libgimpwidgets/gimppreview.c
@@ -20,6 +20,8 @@
#include "config.h"
+#undef GSEAL_ENABLE
+
#include <gtk/gtk.h>
#include "libgimpmath/gimpmath.h"
diff --git a/libgimpwidgets/gimppreviewarea.c b/libgimpwidgets/gimppreviewarea.c
index eebb613..3d72030 100644
--- a/libgimpwidgets/gimppreviewarea.c
+++ b/libgimpwidgets/gimppreviewarea.c
@@ -220,14 +220,17 @@ gimp_preview_area_expose (GtkWidget *widget,
GdkEventExpose *event)
{
GimpPreviewArea *area = GIMP_PREVIEW_AREA (widget);
+ GtkAllocation allocation;
GdkRectangle rect;
GdkRectangle render;
if (! area->buf)
return FALSE;
- rect.x = (widget->allocation.width - area->width) / 2;
- rect.y = (widget->allocation.height - area->height) / 2;
+ gtk_widget_get_allocation (widget, &allocation);
+
+ rect.x = (allocation.width - area->width) / 2;
+ rect.y = (allocation.height - area->height) / 2;
rect.width = area->width;
rect.height = area->height;
@@ -239,7 +242,7 @@ gimp_preview_area_expose (GtkWidget *widget,
guchar *buf = area->buf + x * 3 + y * area->rowstride;
gdk_draw_rgb_image_dithalign (gtk_widget_get_window (widget),
- style->fg_gc[widget->state],
+ style->fg_gc[gtk_widget_get_state (widget)],
render.x,
render.y,
render.width,
@@ -261,10 +264,13 @@ gimp_preview_area_queue_draw (GimpPreviewArea *area,
gint width,
gint height)
{
- GtkWidget *widget = GTK_WIDGET (area);
+ GtkWidget *widget = GTK_WIDGET (area);
+ GtkAllocation allocation;
+
+ gtk_widget_get_allocation (widget, &allocation);
- x += (widget->allocation.width - area->width) / 2;
- y += (widget->allocation.height - area->height) / 2;
+ x += (allocation.width - area->width) / 2;
+ y += (allocation.height - area->height) / 2;
gtk_widget_queue_draw_area (widget, x, y, width, height);
}
diff --git a/libgimpwidgets/gimpruler.c b/libgimpwidgets/gimpruler.c
index 0df4357..7c6da67 100644
--- a/libgimpwidgets/gimpruler.c
+++ b/libgimpwidgets/gimpruler.c
@@ -20,6 +20,8 @@
#include <string.h>
+#undef GSEAL_ENABLE
+
#include <gtk/gtk.h>
#include "libgimpbase/gimpbase.h"
@@ -496,16 +498,19 @@ static void
gimp_ruler_realize (GtkWidget *widget)
{
GimpRuler *ruler = GIMP_RULER (widget);
+ GtkAllocation allocation;
GdkWindowAttr attributes;
gint attributes_mask;
GTK_WIDGET_SET_FLAGS (ruler, GTK_REALIZED);
+ gtk_widget_get_allocation (widget, &allocation);
+
attributes.window_type = GDK_WINDOW_CHILD;
- attributes.x = widget->allocation.x;
- attributes.y = widget->allocation.y;
- attributes.width = widget->allocation.width;
- attributes.height = widget->allocation.height;
+ attributes.x = allocation.x;
+ attributes.y = allocation.y;
+ attributes.width = allocation.width;
+ attributes.height = allocation.height;
attributes.wclass = GDK_INPUT_OUTPUT;
attributes.visual = gtk_widget_get_visual (widget);
attributes.colormap = gtk_widget_get_colormap (widget);
@@ -516,12 +521,15 @@ gimp_ruler_realize (GtkWidget *widget)
attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
- widget->window = gdk_window_new (gtk_widget_get_parent_window (widget),
- &attributes, attributes_mask);
- gdk_window_set_user_data (widget->window, ruler);
+ gtk_widget_set_window (widget,
+ gdk_window_new (gtk_widget_get_parent_window (widget),
+ &attributes, attributes_mask));
+ gdk_window_set_user_data (gtk_widget_get_window (widget), ruler);
- widget->style = gtk_style_attach (widget->style, widget->window);
- gtk_style_set_background (gtk_widget_get_style (widget), widget->window,
+ widget->style = gtk_style_attach (gtk_widget_get_style (widget),
+ gtk_widget_get_window (widget));
+ gtk_style_set_background (gtk_widget_get_style (widget),
+ gtk_widget_get_window (widget),
GTK_STATE_ACTIVE);
gimp_ruler_make_pixmap (ruler);
@@ -560,7 +568,7 @@ gimp_ruler_size_allocate (GtkWidget *widget,
{
GimpRuler *ruler = GIMP_RULER (widget);
- widget->allocation = *allocation;
+ gtk_widget_set_allocation (widget, allocation);
if (GTK_WIDGET_REALIZED (widget))
{
@@ -624,11 +632,13 @@ gimp_ruler_motion_notify (GtkWidget *widget,
{
GimpRuler *ruler = GIMP_RULER (widget);
GimpRulerPrivate *priv = GIMP_RULER_GET_PRIVATE (ruler);
+ GtkAllocation allocation;
gdouble lower;
gdouble upper;
gdk_event_request_motions (event);
+ gtk_widget_get_allocation (widget, &allocation);
gimp_ruler_get_range (ruler, &lower, &upper, NULL);
if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
@@ -636,14 +646,14 @@ gimp_ruler_motion_notify (GtkWidget *widget,
gimp_ruler_set_position (ruler,
lower +
(upper - lower) * event->x /
- widget->allocation.width);
+ allocation.width);
}
else
{
gimp_ruler_set_position (ruler,
lower +
(upper - lower) * event->y /
- widget->allocation.height);
+ allocation.height);
}
return FALSE;
@@ -653,10 +663,13 @@ static gboolean
gimp_ruler_expose (GtkWidget *widget,
GdkEventExpose *event)
{
- if (GTK_WIDGET_DRAWABLE (widget))
+ if (gtk_widget_is_drawable (widget))
{
GimpRuler *ruler = GIMP_RULER (widget);
GimpRulerPrivate *priv = GIMP_RULER_GET_PRIVATE (ruler);
+ GtkAllocation allocation;
+
+ gtk_widget_get_allocation (widget, &allocation);
gimp_ruler_draw_ticks (ruler);
@@ -664,8 +677,8 @@ gimp_ruler_expose (GtkWidget *widget,
priv->non_gr_exp_gc,
priv->backing_store,
0, 0, 0, 0,
- widget->allocation.width,
- widget->allocation.height);
+ allocation.width,
+ allocation.height);
gimp_ruler_draw_pos (ruler);
}
@@ -679,6 +692,8 @@ gimp_ruler_draw_ticks (GimpRuler *ruler)
GtkWidget *widget = GTK_WIDGET (ruler);
GtkStyle *style = gtk_widget_get_style (widget);
GimpRulerPrivate *priv = GIMP_RULER_GET_PRIVATE (ruler);
+ GtkStateType state = gtk_widget_get_state (widget);
+ GtkAllocation allocation;
cairo_t *cr;
gint i;
gint width, height;
@@ -699,9 +714,11 @@ gimp_ruler_draw_ticks (GimpRuler *ruler)
PangoLayout *layout;
PangoRectangle logical_rect, ink_rect;
- if (! GTK_WIDGET_DRAWABLE (widget))
+ if (! gtk_widget_is_drawable (widget))
return;
+ gtk_widget_get_allocation (widget, &allocation);
+
xthickness = style->xthickness;
ythickness = style->ythickness;
@@ -713,13 +730,13 @@ gimp_ruler_draw_ticks (GimpRuler *ruler)
if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
{
- width = widget->allocation.width;
- height = widget->allocation.height - ythickness * 2;
+ width = allocation.width;
+ height = allocation.height - ythickness * 2;
}
else
{
- width = widget->allocation.height;
- height = widget->allocation.width - ythickness * 2;
+ width = allocation.height;
+ height = allocation.width - ythickness * 2;
}
gtk_paint_box (style, priv->backing_store,
@@ -728,17 +745,17 @@ gimp_ruler_draw_ticks (GimpRuler *ruler)
priv->orientation == GTK_ORIENTATION_HORIZONTAL ?
"hruler" : "vruler",
0, 0,
- widget->allocation.width, widget->allocation.height);
+ allocation.width, allocation.height);
cr = gdk_cairo_create (priv->backing_store);
- gdk_cairo_set_source_color (cr, &style->fg[widget->state]);
+ gdk_cairo_set_source_color (cr, &style->fg[state]);
if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
{
cairo_rectangle (cr,
xthickness,
height + ythickness,
- widget->allocation.width - 2 * xthickness,
+ allocation.width - 2 * xthickness,
1);
}
else
@@ -747,7 +764,7 @@ gimp_ruler_draw_ticks (GimpRuler *ruler)
height + xthickness,
ythickness,
1,
- widget->allocation.height - 2 * ythickness);
+ allocation.height - 2 * ythickness);
}
gimp_ruler_get_range (ruler, &lower, &upper, &max_size);
@@ -847,7 +864,7 @@ gimp_ruler_draw_ticks (GimpRuler *ruler)
gtk_paint_layout (style,
priv->backing_store,
- GTK_WIDGET_STATE (widget),
+ state,
FALSE,
NULL,
widget,
@@ -867,7 +884,7 @@ gimp_ruler_draw_ticks (GimpRuler *ruler)
gtk_paint_layout (style,
priv->backing_store,
- GTK_WIDGET_STATE (widget),
+ state,
FALSE,
NULL,
widget,
@@ -892,22 +909,26 @@ gimp_ruler_draw_pos (GimpRuler *ruler)
GtkWidget *widget = GTK_WIDGET (ruler);
GtkStyle *style = gtk_widget_get_style (widget);
GimpRulerPrivate *priv = GIMP_RULER_GET_PRIVATE (ruler);
+ GtkStateType state = gtk_widget_get_state (widget);
+ GtkAllocation allocation;
gint x, y;
gint width, height;
gint bs_width, bs_height;
gint xthickness;
gint ythickness;
- if (! GTK_WIDGET_DRAWABLE (ruler))
+ if (! gtk_widget_is_drawable (widget))
return;
+ gtk_widget_get_allocation (widget, &allocation);
+
xthickness = style->xthickness;
ythickness = style->ythickness;
if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
{
- width = widget->allocation.width;
- height = widget->allocation.height - ythickness * 2;
+ width = allocation.width;
+ height = allocation.height - ythickness * 2;
bs_width = height / 2 + 2;
bs_width |= 1; /* make sure it's odd */
@@ -915,8 +936,8 @@ gimp_ruler_draw_pos (GimpRuler *ruler)
}
else
{
- width = widget->allocation.width - xthickness * 2;
- height = widget->allocation.height;
+ width = allocation.width - xthickness * 2;
+ height = allocation.height;
bs_height = width / 2 + 2;
bs_height |= 1; /* make sure it's odd */
@@ -959,7 +980,7 @@ gimp_ruler_draw_pos (GimpRuler *ruler)
y = ROUND ((position - lower) * increment) + (ythickness - bs_height) / 2 - 1;
}
- gdk_cairo_set_source_color (cr, &style->fg[widget->state]);
+ gdk_cairo_set_source_color (cr, &style->fg[state]);
cairo_move_to (cr, x, y);
@@ -988,22 +1009,25 @@ gimp_ruler_make_pixmap (GimpRuler *ruler)
{
GtkWidget *widget = GTK_WIDGET (ruler);
GimpRulerPrivate *priv = GIMP_RULER_GET_PRIVATE (ruler);
+ GtkAllocation allocation;
gint width;
gint height;
+ gtk_widget_get_allocation (widget, &allocation);
+
if (priv->backing_store)
{
gdk_drawable_get_size (priv->backing_store, &width, &height);
- if ((width == widget->allocation.width) &&
- (height == widget->allocation.height))
+ if ((width == allocation.width) &&
+ (height == allocation.height))
return;
g_object_unref (priv->backing_store);
}
priv->backing_store = gdk_pixmap_new (gtk_widget_get_window (widget),
- widget->allocation.width,
- widget->allocation.height,
+ allocation.width,
+ allocation.height,
-1);
if (!priv->non_gr_exp_gc)
diff --git a/libgimpwidgets/gimpscrolledpreview.c b/libgimpwidgets/gimpscrolledpreview.c
index ec50a1c..a8a32eb 100644
--- a/libgimpwidgets/gimpscrolledpreview.c
+++ b/libgimpwidgets/gimpscrolledpreview.c
@@ -20,6 +20,8 @@
#include "config.h"
+#undef GSEAL_ENABLE
+
#include <gtk/gtk.h>
#include "libgimpmath/gimpmath.h"
@@ -664,18 +666,21 @@ gimp_scrolled_preview_nav_popup_event (GtkWidget *widget,
GdkEventMotion *mevent = (GdkEventMotion *) event;
GtkAdjustment *hadj;
GtkAdjustment *vadj;
+ GtkAllocation allocation;
gint cx, cy;
gdouble x, y;
hadj = gtk_range_get_adjustment (GTK_RANGE (preview->hscr));
vadj = gtk_range_get_adjustment (GTK_RANGE (preview->vscr));
+ gtk_widget_get_allocation (widget, &allocation);
+
gtk_widget_get_pointer (widget, &cx, &cy);
x = cx * (gtk_adjustment_get_upper (hadj) -
- gtk_adjustment_get_lower (hadj)) / widget->allocation.width;
+ gtk_adjustment_get_lower (hadj)) / allocation.width;
y = cy * (gtk_adjustment_get_upper (vadj) -
- gtk_adjustment_get_lower (vadj)) / widget->allocation.height;
+ gtk_adjustment_get_lower (vadj)) / allocation.height;
x += (gtk_adjustment_get_lower (hadj) -
gtk_adjustment_get_page_size (hadj) / 2);
@@ -713,11 +718,14 @@ gimp_scrolled_preview_nav_popup_expose (GtkWidget *widget,
GimpScrolledPreview *preview)
{
GtkAdjustment *adj;
+ GtkAllocation allocation;
cairo_t *cr;
gdouble x, y;
gdouble w, h;
- adj = gtk_range_get_adjustment (GTK_RANGE (preview->hscr));
+ adj = gtk_range_get_adjustment (GTK_RANGE (preview->hscr));
+
+ gtk_widget_get_allocation (widget, &allocation);
x = (gtk_adjustment_get_value (adj) /
(gtk_adjustment_get_upper (adj) -
@@ -738,10 +746,10 @@ gimp_scrolled_preview_nav_popup_expose (GtkWidget *widget,
if (w >= 1.0 && h >= 1.0)
return FALSE;
- x = floor (x * (gdouble) widget->allocation.width);
- y = floor (y * (gdouble) widget->allocation.height);
- w = MAX (1, ceil (w * (gdouble) widget->allocation.width));
- h = MAX (1, ceil (h * (gdouble) widget->allocation.height));
+ x = floor (x * (gdouble) allocation.width);
+ y = floor (y * (gdouble) allocation.height);
+ w = MAX (1, ceil (w * (gdouble) allocation.width));
+ h = MAX (1, ceil (h * (gdouble) allocation.height));
cr = gdk_cairo_create (gtk_widget_get_window (widget));
@@ -749,7 +757,7 @@ gimp_scrolled_preview_nav_popup_expose (GtkWidget *widget,
cairo_clip (cr);
cairo_rectangle (cr,
- 0, 0, widget->allocation.width, widget->allocation.height);
+ 0, 0, allocation.width, allocation.height);
cairo_rectangle (cr, x, y, w, h);
diff --git a/libgimpwidgets/gimpsizeentry.c b/libgimpwidgets/gimpsizeentry.c
index 8e2d5f5..d545eaf 100644
--- a/libgimpwidgets/gimpsizeentry.c
+++ b/libgimpwidgets/gimpsizeentry.c
@@ -24,6 +24,8 @@
#include <string.h>
+#undef GSEAL_ENABLE
+
#include <gtk/gtk.h>
#include "libgimpbase/gimpbase.h"
diff --git a/libgimpwidgets/gimpunitmenu.c b/libgimpwidgets/gimpunitmenu.c
index b2b944d..b721960 100644
--- a/libgimpwidgets/gimpunitmenu.c
+++ b/libgimpwidgets/gimpunitmenu.c
@@ -21,6 +21,8 @@
#include "config.h"
+#undef GSEAL_ENABLE
+
#include <gtk/gtk.h>
#include "libgimpbase/gimpbase.h"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]