[goocanvas] 2010-07-25 Damon Chaplin <damon gnome org>
- From: Damon Chaplin <damon src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [goocanvas] 2010-07-25 Damon Chaplin <damon gnome org>
- Date: Sun, 25 Jul 2010 16:23:52 +0000 (UTC)
commit 7f4cd3063c849ee9b3ae9fa9e8f587bd8793ae98
Author: Damon Chaplin <damon gnome org>
Date: Sun Jul 25 17:24:07 2010 +0100
2010-07-25 Damon Chaplin <damon gnome org>
* src/goocanvas.c (goo_canvas_configure_hadjustment)
(goo_canvas_configure_vadjustment): freeze updates until finished,
and fixed bug setting hadjustment page size.
(goo_canvas_focus_in, goo_canvas_focus_out): removed grab_focus()
calls that replaced "GTK_WIDGET_SET/UNSET_FLAGS (widget, GTK_HAS_FOCUS)"
I don't think the macros should have been there anyway.
* src/goocanvasatk.c (goo_canvas_item_accessible_get_extents): tidied
up a little - get canvas window once and reuse.
ChangeLog | 12 ++++++++++++
src/goocanvas.c | 17 +++++++++++------
src/goocanvasatk.c | 14 ++++++++------
3 files changed, 31 insertions(+), 12 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 4378491..aebf620 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2010-07-25 Damon Chaplin <damon gnome org>
+
+ * src/goocanvas.c (goo_canvas_configure_hadjustment)
+ (goo_canvas_configure_vadjustment): freeze updates until finished,
+ and fixed bug setting hadjustment page size.
+ (goo_canvas_focus_in, goo_canvas_focus_out): removed grab_focus()
+ calls that replaced "GTK_WIDGET_SET/UNSET_FLAGS (widget, GTK_HAS_FOCUS)"
+ I don't think the macros should have been there anyway.
+
+ * src/goocanvasatk.c (goo_canvas_item_accessible_get_extents): tidied
+ up a little - get canvas window once and reuse.
+
2010-07-25 Murray Cumming <murrayc murrayc com>
Fix the build with the latest GTK+ 3.0 API.
diff --git a/src/goocanvas.c b/src/goocanvas.c
index 21e6406..1a9f82c 100644
--- a/src/goocanvas.c
+++ b/src/goocanvas.c
@@ -1605,6 +1605,8 @@ goo_canvas_configure_hadjustment (GooCanvas *canvas,
gdouble page_size;
GtkAllocation allocation;
+ canvas->freeze_count++;
+
if (gtk_adjustment_get_upper (adj) != window_width)
{
gtk_adjustment_set_upper (adj, window_width);
@@ -1616,6 +1618,7 @@ goo_canvas_configure_hadjustment (GooCanvas *canvas,
if (page_size != allocation.width)
{
page_size = allocation.width;
+ gtk_adjustment_set_page_size (adj, page_size);
gtk_adjustment_set_page_increment (adj, page_size * 0.9);
gtk_adjustment_set_step_increment (adj, page_size * 0.1);
changed = TRUE;
@@ -1628,6 +1631,8 @@ goo_canvas_configure_hadjustment (GooCanvas *canvas,
value_changed = TRUE;
}
+ canvas->freeze_count--;
+
if (changed)
gtk_adjustment_changed (adj);
@@ -1648,6 +1653,8 @@ goo_canvas_configure_vadjustment (GooCanvas *canvas,
GtkAllocation allocation;
gdouble page_size;
+ canvas->freeze_count++;
+
if (gtk_adjustment_get_upper (adj) != window_height)
{
gtk_adjustment_set_upper (adj, window_height);
@@ -1658,8 +1665,8 @@ goo_canvas_configure_vadjustment (GooCanvas *canvas,
page_size = gtk_adjustment_get_page_size (adj);
if (page_size != allocation.height)
{
- gtk_adjustment_set_page_size (adj, allocation.height);
- page_size = gtk_adjustment_get_page_size (adj);
+ page_size = allocation.height;
+ gtk_adjustment_set_page_size (adj, page_size);
gtk_adjustment_set_page_increment (adj, page_size * 0.9);
gtk_adjustment_set_step_increment (adj, page_size * 0.1);
changed = TRUE;
@@ -1672,6 +1679,8 @@ goo_canvas_configure_vadjustment (GooCanvas *canvas,
value_changed = TRUE;
}
+ canvas->freeze_count--;
+
if (changed)
gtk_adjustment_changed (adj);
@@ -3216,8 +3225,6 @@ goo_canvas_focus_in (GtkWidget *widget,
{
GooCanvas *canvas = GOO_CANVAS (widget);
- gtk_widget_grab_focus (widget);
-
if (canvas->focused_item)
return propagate_event (canvas, canvas->focused_item,
"focus_in_event", (GdkEvent*) event);
@@ -3232,8 +3239,6 @@ goo_canvas_focus_out (GtkWidget *widget,
{
GooCanvas *canvas = GOO_CANVAS (widget);
- gtk_widget_grab_focus (widget);
-
if (canvas->focused_item)
return propagate_event (canvas, canvas->focused_item,
"focus_out_event", (GdkEvent*) event);
diff --git a/src/goocanvasatk.c b/src/goocanvasatk.c
index a02348e..565f1bc 100644
--- a/src/goocanvasatk.c
+++ b/src/goocanvasatk.c
@@ -121,7 +121,7 @@ goo_canvas_item_accessible_get_extents (AtkComponent *component,
gint window_x, window_y;
gint toplevel_x, toplevel_y;
GdkRectangle rect;
- GdkWindow *window;
+ GdkWindow *canvas_window, *window;
g_return_if_fail (GOO_IS_CANVAS_ITEM_ACCESSIBLE (component));
@@ -133,9 +133,12 @@ goo_canvas_item_accessible_get_extents (AtkComponent *component,
item = GOO_CANVAS_ITEM (object);
-
canvas = goo_canvas_item_get_canvas (item);
- if (!canvas || !gtk_widget_get_window (GTK_WIDGET (canvas)))
+ if (!canvas)
+ return;
+
+ canvas_window = gtk_widget_get_window (GTK_WIDGET (canvas));
+ if (!canvas_window)
return;
goo_canvas_item_accessible_get_item_extents (item, &rect);
@@ -145,14 +148,13 @@ goo_canvas_item_accessible_get_extents (AtkComponent *component,
if (!goo_canvas_item_accessible_is_item_in_window (item, &rect))
return;
- gdk_window_get_origin (gtk_widget_get_window (GTK_WIDGET (canvas)),
- &window_x, &window_y);
+ gdk_window_get_origin (canvas_window, &window_x, &window_y);
*x = rect.x + window_x;
*y = rect.y + window_y;
if (coord_type == ATK_XY_WINDOW)
{
- window = gdk_window_get_toplevel (gtk_widget_get_window (GTK_WIDGET (canvas)));
+ window = gdk_window_get_toplevel (canvas_window);
gdk_window_get_origin (window, &toplevel_x, &toplevel_y);
*x -= toplevel_x;
*y -= toplevel_y;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]