[gnome-initial-setup] accounts: Fix a crash on changing language
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-initial-setup] accounts: Fix a crash on changing language
- Date: Tue, 16 Feb 2016 14:05:38 +0000 (UTC)
commit 2886670acb776a2d2476ad26b49523f0be050db0
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Feb 16 08:59:54 2016 -0500
accounts: Fix a crash on changing language
The recent refactoring of small-screen handling caused this;
make it simpler by just using a binding, as we do in other pages.
https://bugzilla.gnome.org/show_bug.cgi?id=762092
.../pages/account/gis-account-page-enterprise.c | 15 +++++++++------
.../pages/account/gis-account-page-enterprise.ui | 1 -
2 files changed, 9 insertions(+), 7 deletions(-)
---
diff --git a/gnome-initial-setup/pages/account/gis-account-page-enterprise.c
b/gnome-initial-setup/pages/account/gis-account-page-enterprise.c
index 4c9feb3..2ec201d 100644
--- a/gnome-initial-setup/pages/account/gis-account-page-enterprise.c
+++ b/gnome-initial-setup/pages/account/gis-account-page-enterprise.c
@@ -740,16 +740,18 @@ on_entry_changed (GtkEditable *editable,
}
static void
-gis_account_page_enterprise_hierarchy_changed (GtkWidget *widget,
- GtkWidget *previous_toplevel)
+gis_account_page_enterprise_realize (GtkWidget *widget)
{
GisAccountPageEnterprise *page = GIS_ACCOUNT_PAGE_ENTERPRISE (widget);
GisAccountPageEnterprisePrivate *priv = gis_account_page_enterprise_get_instance_private (page);
GtkWidget *gis_page;
gis_page = gtk_widget_get_ancestor (widget, GIS_TYPE_PAGE);
- if (gis_driver_is_small_screen (GIS_PAGE (gis_page)->driver))
- gtk_widget_hide (priv->image);
+ g_object_bind_property (gis_page, "small-screen",
+ priv->image, "visible",
+ G_BINDING_SYNC_CREATE | G_BINDING_INVERT_BOOLEAN);
+
+ GTK_WIDGET_CLASS (gis_account_page_enterprise_parent_class)->realize (widget);
}
static void
@@ -799,10 +801,13 @@ static void
gis_account_page_enterprise_class_init (GisAccountPageEnterpriseClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
object_class->constructed = gis_account_page_enterprise_constructed;
object_class->dispose = gis_account_page_enterprise_dispose;
+ widget_class->realize = gis_account_page_enterprise_realize;
+
gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass),
"/org/gnome/initial-setup/gis-account-page-enterprise.ui");
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisAccountPageEnterprise, login);
@@ -818,8 +823,6 @@ gis_account_page_enterprise_class_init (GisAccountPageEnterpriseClass *klass)
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisAccountPageEnterprise,
join_domain);
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisAccountPageEnterprise,
join_computer);
- gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (klass),
gis_account_page_enterprise_hierarchy_changed);
-
signals[VALIDATION_CHANGED] = g_signal_new ("validation-changed", GIS_TYPE_ACCOUNT_PAGE_ENTERPRISE,
G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
G_TYPE_NONE, 0);
diff --git a/gnome-initial-setup/pages/account/gis-account-page-enterprise.ui
b/gnome-initial-setup/pages/account/gis-account-page-enterprise.ui
index b9b057e..1f4178e 100644
--- a/gnome-initial-setup/pages/account/gis-account-page-enterprise.ui
+++ b/gnome-initial-setup/pages/account/gis-account-page-enterprise.ui
@@ -2,7 +2,6 @@
<interface>
<!-- interface-requires gtk+ 3.0 -->
<template class="GisAccountPageEnterprise" parent="GtkBin">
- <signal name="hierarchy-changed" handler="gis_account_page_enterprise_hierarchy_changed"/>
<child>
<object class="GtkBox" id="area">
<property name="visible">True</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]