forked from AuroraMiddleware/gtk
widget: add shortcut to gtk_widget_set_child_visible
So we don't do unnecessary work when just setting priv->child_visible to the same value again.
This commit is contained in:
parent
a54e5844b6
commit
e0205eb27c
@ -7618,7 +7618,7 @@ gtk_widget_get_parent_surface (GtkWidget *widget)
|
||||
/**
|
||||
* gtk_widget_set_child_visible:
|
||||
* @widget: a #GtkWidget
|
||||
* @is_visible: if %TRUE, @widget should be mapped along with its parent.
|
||||
* @child_visible: if %TRUE, @widget should be mapped along with its parent.
|
||||
*
|
||||
* Sets whether @widget should be mapped along with its when its parent
|
||||
* is mapped and @widget has been shown with gtk_widget_show().
|
||||
@ -7640,17 +7640,22 @@ gtk_widget_get_parent_surface (GtkWidget *widget)
|
||||
**/
|
||||
void
|
||||
gtk_widget_set_child_visible (GtkWidget *widget,
|
||||
gboolean is_visible)
|
||||
gboolean child_visible)
|
||||
{
|
||||
GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
|
||||
|
||||
g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||
g_return_if_fail (!_gtk_widget_is_toplevel (widget));
|
||||
|
||||
child_visible = !!child_visible;
|
||||
|
||||
if (priv->child_visible == child_visible)
|
||||
return;
|
||||
|
||||
g_object_ref (widget);
|
||||
gtk_widget_verify_invariants (widget);
|
||||
|
||||
if (is_visible)
|
||||
if (child_visible)
|
||||
priv->child_visible = TRUE;
|
||||
else
|
||||
{
|
||||
|
@ -589,7 +589,7 @@ GdkSurface * gtk_widget_get_parent_surface (GtkWidget *widget);
|
||||
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gtk_widget_set_child_visible (GtkWidget *widget,
|
||||
gboolean is_visible);
|
||||
gboolean child_visible);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
gboolean gtk_widget_get_child_visible (GtkWidget *widget);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user