[gtk] widget: Insist on proper vfunc calling
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk] widget: Insist on proper vfunc calling
- Date: Wed, 29 May 2019 14:35:38 +0000 (UTC)
commit e85f1e176a20f8169e5c6635e1bdaa8aca61fdfb
Author: Benjamin Otte <otte redhat com>
Date: Wed May 29 15:01:18 2019 +0200
widget: Insist on proper vfunc calling
Insist that ->show() is only called for invisible and ->hide only for
visible widgets.
gtk/gtkwidget.c | 28 +++++++++++++---------------
1 file changed, 13 insertions(+), 15 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 26dbae1197..498c49b73f 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -3137,16 +3137,15 @@ gtk_widget_real_show (GtkWidget *widget)
{
GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
- if (!_gtk_widget_get_visible (widget))
- {
- priv->visible = TRUE;
+ g_return_if_fail (!_gtk_widget_get_visible (widget));
- if (priv->parent &&
- _gtk_widget_get_mapped (priv->parent) &&
- _gtk_widget_get_child_visible (widget) &&
- !_gtk_widget_get_mapped (widget))
- gtk_widget_map (widget);
- }
+ priv->visible = TRUE;
+
+ if (priv->parent &&
+ _gtk_widget_get_mapped (priv->parent) &&
+ _gtk_widget_get_child_visible (widget) &&
+ !_gtk_widget_get_mapped (widget))
+ gtk_widget_map (widget);
}
/**
@@ -3204,13 +3203,12 @@ gtk_widget_real_hide (GtkWidget *widget)
{
GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
- if (_gtk_widget_get_visible (widget))
- {
- priv->visible = FALSE;
+ g_return_if_fail (_gtk_widget_get_visible (widget));
- if (_gtk_widget_get_mapped (widget))
- gtk_widget_unmap (widget);
- }
+ priv->visible = FALSE;
+
+ if (_gtk_widget_get_mapped (widget))
+ gtk_widget_unmap (widget);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]