[maemo-commits] [maemo-commits] r14357 - in projects/haf/trunk/gtk+: . gtk
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Mon Oct 8 17:12:29 EEST 2007
- Previous message: [maemo-commits] r14356 - in projects/haf/trunk/gtk+: . gtk
- Next message: [maemo-commits] r14358 - in projects/haf/trunk/hildon-1: . src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: xan Date: 2007-10-08 17:12:26 +0300 (Mon, 08 Oct 2007) New Revision: 14357 Modified: projects/haf/trunk/gtk+/ChangeLog projects/haf/trunk/gtk+/gtk/gtkcontainer.c Log: 007-10-08 Xan Lopez <xan.lopez at nokia.com> Patch by Tommi. * gtk/gtkcontainer.c: When updating the adjustments as a result of container resize (resize_update=TRUE) force the focused widget visible only if it is smaller than the viewport. Otherwise the updates starts to oscillate between two values (possibly HildonScrollArea is causing that.) That should be enough for vkb resized dialogs. Fixes: NB#71902 Modified: projects/haf/trunk/gtk+/ChangeLog =================================================================== --- projects/haf/trunk/gtk+/ChangeLog 2007-10-08 13:39:10 UTC (rev 14356) +++ projects/haf/trunk/gtk+/ChangeLog 2007-10-08 14:12:26 UTC (rev 14357) @@ -1,14 +1,28 @@ 2007-10-08 Xan Lopez <xan.lopez at nokia.com> Patch by Tommi. + + * gtk/gtkcontainer.c: When updating the adjustments as a result of + container resize (resize_update=TRUE) force the focused widget + visible only if it is smaller than the viewport. Otherwise the + updates starts to oscillate between two values (possibly + HildonScrollArea is causing that.) That should be enough for vkb + resized dialogs. - * gtk/gtktreeview.c (gtk_tree_view_row_deleted): stop rubberbanding - when a row is deleted. It avoids certain crashers when rows inside the - selection are deleted and gtk_tree_view_stop_rubber_band is then called. + Fixes: NB#71902 + +2007-10-08 Xan Lopez <xan.lopez at nokia.com> - The correct fix would probably be to correctly maintain the state of - the rubber band data on row_delete. + Patch by Tommi. + * gtk/gtktreeview.c (gtk_tree_view_row_deleted): stop + rubberbanding when a row is deleted. It avoids certain crashers + when rows inside the selection are deleted and + gtk_tree_view_stop_rubber_band is then called. + + The correct fix would probably be to correctly maintain the state + of the rubber band data on row_delete. + Fixes: NB#71834 2007-10-04 Xan Lopez <xan.lopez at nokia.com> Modified: projects/haf/trunk/gtk+/gtk/gtkcontainer.c =================================================================== --- projects/haf/trunk/gtk+/gtk/gtkcontainer.c 2007-10-08 13:39:10 UTC (rev 14356) +++ projects/haf/trunk/gtk+/gtk/gtkcontainer.c 2007-10-08 14:12:26 UTC (rev 14357) @@ -1319,7 +1319,7 @@ size_allocated_containers = g_slist_prepend (size_allocated_containers, container); } -static void container_scroll_focus_adjustments (GtkContainer *container); +static void container_scroll_focus_adjustments (GtkContainer *container, gboolean resize_update); #endif static gboolean @@ -1377,7 +1377,7 @@ while (focus) { /* adjust all focus widget parents that could possibly scroll */ - container_scroll_focus_adjustments (GTK_CONTAINER (focus)); + container_scroll_focus_adjustments (GTK_CONTAINER (focus), TRUE); focus = focus->parent; } } @@ -1746,11 +1746,11 @@ } #ifdef MAEMO_CHANGES - container_scroll_focus_adjustments (container); + container_scroll_focus_adjustments (container, FALSE); } static void -container_scroll_focus_adjustments (GtkContainer *container) +container_scroll_focus_adjustments (GtkContainer *container, gboolean resize_update) { #endif /* check for h/v adjustments @@ -1781,10 +1781,26 @@ y += container->focus_child->allocation.y; if (vadj) - gtk_adjustment_clamp_page (vadj, y, y + focus_child->allocation.height); + { +#ifdef MAEMO_CHANGES + /* When updating the adjustments as a result of container resize + * (resize_update=TRUE) force the focused widget visible only if + * it is smaller than the viewport. Otherwise the updates starts + * to oscillate between two values (possibly HildonScrollArea is + * causing that.) That should be enough for vkb resized dialogs. + */ + if (!resize_update || focus_child->allocation.height < vadj->page_size) +#endif /* MAEMO_CHANGES */ + gtk_adjustment_clamp_page (vadj, y, y + focus_child->allocation.height); + } if (hadj) - gtk_adjustment_clamp_page (hadj, x, x + focus_child->allocation.width); + { +#ifdef MAEMO_CHANGES + if (!resize_update || focus_child->allocation.width < hadj->page_size) +#endif /* MAEMO_CHANGES */ + gtk_adjustment_clamp_page (hadj, x, x + focus_child->allocation.width); + } } } }
- Previous message: [maemo-commits] r14356 - in projects/haf/trunk/gtk+: . gtk
- Next message: [maemo-commits] r14358 - in projects/haf/trunk/hildon-1: . src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]