[gtk+] Revert "Avoid type checking overhead for resize-mode"
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Revert "Avoid type checking overhead for resize-mode"
- Date: Sat, 12 Sep 2015 19:28:54 +0000 (UTC)
commit 51a1bc21af92d866a96c15b538d34708f8c91045
Author: Benjamin Otte <otte redhat com>
Date: Sat Sep 12 21:27:10 2015 +0200
Revert "Avoid type checking overhead for resize-mode"
This reverts commit 3eacfa88f2d9c690a006de9cac1cd3c60901686c.
Apart from the patch not being correct, we don't want to expose private
structures in header files if we can avoid it.
And this type-checking overhead is not an optimization that is even
measurable.
https://bugzilla.gnome.org/show_bug.cgi?id=754932
gtk/gtkcontainer.c | 25 ++++++++++++++++++++++---
gtk/gtkcontainerprivate.h | 28 ----------------------------
gtk/gtkcsswidgetnode.c | 4 ++--
gtk/gtkwidget.c | 2 ++
gtk/gtkwindow.c | 4 ++--
5 files changed, 28 insertions(+), 35 deletions(-)
---
diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c
index 4bc8e84..16337b5 100644
--- a/gtk/gtkcontainer.c
+++ b/gtk/gtkcontainer.c
@@ -251,6 +251,25 @@
*
*/
+
+struct _GtkContainerPrivate
+{
+ GtkWidget *focus_child;
+
+ GdkFrameClock *resize_clock;
+ guint resize_handler;
+
+ guint border_width : 16;
+ guint border_width_set : 1;
+
+ guint has_focus_chain : 1;
+ guint reallocate_redraws : 1;
+ guint resize_pending : 1;
+ guint restyle_pending : 1;
+ guint resize_mode : 2;
+ guint request_mode : 2;
+};
+
enum {
ADD,
REMOVE,
@@ -2052,7 +2071,7 @@ gtk_container_queue_resize_handler (GtkContainer *container)
GtkWidget *widget;
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
- g_return_if_fail (_GTK_IS_RESIZE_CONTAINER (container));
+ g_return_if_fail (GTK_IS_RESIZE_CONTAINER (container));
G_GNUC_END_IGNORE_DEPRECATIONS;
widget = GTK_WIDGET (container);
@@ -2097,7 +2116,7 @@ _gtk_container_queue_resize_internal (GtkContainer *container,
_gtk_size_request_cache_clear (_gtk_widget_peek_request_cache (widget));
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
- if (_GTK_IS_RESIZE_CONTAINER (container))
+ if (((GtkContainer*)widget)->priv->resize_mode != GTK_RESIZE_PARENT)
break;
G_GNUC_END_IGNORE_DEPRECATIONS;
@@ -2185,7 +2204,7 @@ gtk_container_real_check_resize (GtkContainer *container)
requisition.height > allocation.height)
{
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
- if (_GTK_IS_RESIZE_CONTAINER (container))
+ if (GTK_IS_RESIZE_CONTAINER (container))
{
gtk_widget_size_allocate (widget, &allocation);
gtk_widget_set_allocation (widget, &allocation);
diff --git a/gtk/gtkcontainerprivate.h b/gtk/gtkcontainerprivate.h
index fa52481..ec81720 100644
--- a/gtk/gtkcontainerprivate.h
+++ b/gtk/gtkcontainerprivate.h
@@ -24,24 +24,6 @@
G_BEGIN_DECLS
-struct _GtkContainerPrivate
-{
- GtkWidget *focus_child;
-
- GdkFrameClock *resize_clock;
- guint resize_handler;
-
- guint border_width : 16;
- guint border_width_set : 1;
-
- guint has_focus_chain : 1;
- guint reallocate_redraws : 1;
- guint resize_pending : 1;
- guint restyle_pending : 1;
- guint resize_mode : 2;
- guint request_mode : 2;
-};
-
void _gtk_container_queue_resize (GtkContainer *container);
void _gtk_container_queue_restyle (GtkContainer *container);
@@ -62,16 +44,6 @@ gboolean _gtk_container_get_border_width_set (GtkContainer *container);
void _gtk_container_set_border_width_set (GtkContainer *container,
gboolean border_width_set);
-static inline GtkResizeMode _gtk_container_get_resize_mode (GtkContainer *container);
-
-static inline GtkResizeMode
-_gtk_container_get_resize_mode (GtkContainer *container)
-{
- return container->priv->resize_mode;
-}
-
-#define _GTK_IS_RESIZE_CONTAINER(container) (_gtk_container_get_resize_mode (GTK_CONTAINER (container)) !=
GTK_RESIZE_PARENT)
-
G_END_DECLS
#endif /* __GTK_CONTAINER_PRIVATE_H__ */
diff --git a/gtk/gtkcsswidgetnode.c b/gtk/gtkcsswidgetnode.c
index e9d2056..cf68fb4 100644
--- a/gtk/gtkcsswidgetnode.c
+++ b/gtk/gtkcsswidgetnode.c
@@ -101,7 +101,7 @@ gtk_css_widget_node_queue_validate (GtkCssNode *node)
GtkCssWidgetNode *widget_node = GTK_CSS_WIDGET_NODE (node);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- if (_GTK_IS_RESIZE_CONTAINER (widget_node->widget))
+ if (GTK_IS_RESIZE_CONTAINER (widget_node->widget))
widget_node->validate_cb_id = gtk_widget_add_tick_callback (widget_node->widget,
gtk_css_widget_node_queue_callback,
node,
@@ -115,7 +115,7 @@ gtk_css_widget_node_dequeue_validate (GtkCssNode *node)
GtkCssWidgetNode *widget_node = GTK_CSS_WIDGET_NODE (node);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- if (_GTK_IS_RESIZE_CONTAINER (widget_node->widget))
+ if (GTK_IS_RESIZE_CONTAINER (widget_node->widget))
gtk_widget_remove_tick_callback (widget_node->widget,
widget_node->validate_cb_id);
G_GNUC_END_IGNORE_DEPRECATIONS
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 4cb285c..4d714b2 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -17223,6 +17223,8 @@ _gtk_widget_add_controller (GtkWidget *widget,
EventControllerData *data;
GtkWidgetPrivate *priv;
+ g_return_if_fail (GTK_IS_WIDGET (widget));
+ g_return_if_fail (GTK_IS_EVENT_CONTROLLER (controller));
g_return_if_fail (widget == gtk_event_controller_get_widget (controller));
priv = widget->priv;
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 55ad1ff..b693f94 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -9444,7 +9444,7 @@ gtk_window_move_resize (GtkWindow *window)
gtk_widget_size_allocate (widget, &allocation);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
- if (_gtk_container_get_resize_mode (container) == GTK_RESIZE_QUEUE)
+ if (gtk_container_get_resize_mode (container) == GTK_RESIZE_QUEUE)
gtk_widget_queue_draw (widget);
G_GNUC_END_IGNORE_DEPRECATIONS;
}
@@ -9471,7 +9471,7 @@ gtk_window_move_resize (GtkWindow *window)
* we handle those ourselves upon ->configure_notify_received==TRUE.
*/
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
- if (_gtk_container_get_resize_mode (container) == GTK_RESIZE_QUEUE)
+ if (gtk_container_get_resize_mode (container) == GTK_RESIZE_QUEUE)
{
gtk_widget_queue_resize_no_redraw (widget);
_gtk_container_dequeue_resize_handler (container);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]