diff options
author | gusi <gusi@df743ca5-7f9a-e211-a948-0013205c9059> | 2014-05-14 16:04:08 +0800 |
---|---|---|
committer | gusi <gusi@df743ca5-7f9a-e211-a948-0013205c9059> | 2014-05-14 16:04:08 +0800 |
commit | 25bd75ac9cb1e7234fe7be779273e42d973c161b (patch) | |
tree | 8021a96b5c2545e1013cd9064f1d16e2145cdad4 /deskutils/gnome-initial-setup/files | |
parent | 8c227fc0a828b87d647835a0f90ab6aacd7b73c0 (diff) | |
download | marcuscom-ports-25bd75ac9cb1e7234fe7be779273e42d973c161b.tar marcuscom-ports-25bd75ac9cb1e7234fe7be779273e42d973c161b.tar.gz marcuscom-ports-25bd75ac9cb1e7234fe7be779273e42d973c161b.tar.bz2 marcuscom-ports-25bd75ac9cb1e7234fe7be779273e42d973c161b.tar.lz marcuscom-ports-25bd75ac9cb1e7234fe7be779273e42d973c161b.tar.xz marcuscom-ports-25bd75ac9cb1e7234fe7be779273e42d973c161b.tar.zst marcuscom-ports-25bd75ac9cb1e7234fe7be779273e42d973c161b.zip |
Introducing gnome-initial-setup, a tool that provides a first-boot
wizard to configure and provide a good set of defaults for the
gnome desktop.
Pull in patches from OpenBSD to disable kerberos if needed. Also pull
in patches to silent some warnings about _GisDriver during the build.
This port will probably need a system user (gnome-initial-setup). I'll
add it, if needed, after some testing.
Obtained from: OpenBSD cvs
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@19663 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'deskutils/gnome-initial-setup/files')
16 files changed, 334 insertions, 0 deletions
diff --git a/deskutils/gnome-initial-setup/files/extra-patch-gnome-initial-setup_gis-account-page.c b/deskutils/gnome-initial-setup/files/extra-patch-gnome-initial-setup_gis-account-page.c new file mode 100644 index 000000000..ac183c234 --- /dev/null +++ b/deskutils/gnome-initial-setup/files/extra-patch-gnome-initial-setup_gis-account-page.c @@ -0,0 +1,90 @@ +$OpenBSD: patch-gnome-initial-setup_pages_account_gis-account-page_c,v 1.1 2014/04/26 17:08:12 ajacoutot Exp $ + +https://bugzilla.gnome.org/show_bug.cgi?id=728879 +(upstream will _not_ accept --disable-kerberos patches) + +--- gnome-initial-setup/pages/account/gis-account-page.c.orig Mon Mar 10 05:47:29 2014 ++++ gnome-initial-setup/pages/account/gis-account-page.c Sat Apr 26 19:04:19 2014 +@@ -41,7 +41,9 @@ typedef enum { + struct _GisAccountPagePrivate + { + GtkWidget *page_local; ++#if 0 + GtkWidget *page_enterprise; ++#endif + + GtkWidget *page_toggle; + GtkWidget *stack; +@@ -70,8 +72,10 @@ page_validate (GisAccountPage *page) + switch (priv->mode) { + case UM_LOCAL: + return gis_account_page_local_validate (GIS_ACCOUNT_PAGE_LOCAL (priv->page_local)); ++#if 0 + case UM_ENTERPRISE: + return gis_account_page_enterprise_validate (GIS_ACCOUNT_PAGE_ENTERPRISE (priv->page_enterprise)); ++#endif + default: + g_assert_not_reached (); + } +@@ -102,7 +106,10 @@ set_mode (GisAccountPage *page, + + priv->mode = mode; + ++#if 0 + visible_child = (mode == UM_LOCAL) ? priv->page_local : priv->page_enterprise; ++#endif ++ visible_child = priv->page_local; + gtk_stack_set_visible_child (GTK_STACK (priv->stack), visible_child); + + update_page_validation (page); +@@ -126,9 +133,11 @@ gis_account_page_apply (GisPage *gis_page, + switch (priv->mode) { + case UM_LOCAL: + return gis_account_page_local_apply (GIS_ACCOUNT_PAGE_LOCAL (priv->page_local), gis_page); ++#if 0 + case UM_ENTERPRISE: + return gis_account_page_enterprise_apply (GIS_ACCOUNT_PAGE_ENTERPRISE (priv->page_enterprise), cancellable, + enterprise_apply_complete, page); ++#endif + default: + g_assert_not_reached (); + break; +@@ -180,14 +189,18 @@ gis_account_page_constructed (GObject *object) + g_signal_connect (priv->page_local, "user-created", + G_CALLBACK (on_local_user_created), page); + ++#if 0 + g_signal_connect (priv->page_enterprise, "validation-changed", + G_CALLBACK (on_validation_changed), page); ++#endif + + update_page_validation (page); + + g_signal_connect (priv->page_toggle, "toggled", G_CALLBACK (toggle_mode), page); + g_object_bind_property (page, "applying", priv->page_toggle, "sensitive", G_BINDING_INVERT_BOOLEAN); ++#if 0 + g_object_bind_property (priv->page_enterprise, "visible", priv->page_toggle, "visible", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE); ++#endif + + /* force a refresh by setting to an invalid value */ + priv->mode = NUM_MODES; +@@ -211,7 +224,9 @@ gis_account_page_class_init (GisAccountPageClass *klas + gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/initial-setup/gis-account-page.ui"); + + gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisAccountPage, page_local); ++#if 0 + gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisAccountPage, page_enterprise); ++#endif + + gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisAccountPage, page_toggle); + gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisAccountPage, stack); +@@ -228,7 +243,9 @@ gis_account_page_init (GisAccountPage *page) + { + g_resources_register (account_get_resource ()); + g_type_ensure (GIS_TYPE_ACCOUNT_PAGE_LOCAL); ++#if 0 + g_type_ensure (GIS_TYPE_ACCOUNT_PAGE_ENTERPRISE); ++#endif + + gtk_widget_init_template (GTK_WIDGET (page)); + } diff --git a/deskutils/gnome-initial-setup/files/extra-patch-gnome-initial-setup_pages_account_um-utils.c b/deskutils/gnome-initial-setup/files/extra-patch-gnome-initial-setup_pages_account_um-utils.c new file mode 100644 index 000000000..2799ea8aa --- /dev/null +++ b/deskutils/gnome-initial-setup/files/extra-patch-gnome-initial-setup_pages_account_um-utils.c @@ -0,0 +1,12 @@ +--- gnome-initial-setup/pages/account/um-utils.c.orig 2014-03-10 04:47:29.000000000 +0000 ++++ gnome-initial-setup/pages/account/um-utils.c 2014-05-13 20:51:04.098992354 +0000 +@@ -26,7 +26,8 @@ + #include <stdlib.h> + #include <sys/types.h> + #include <pwd.h> +-#include <utmp.h> ++#include <utmpx.h> ++#define UT_NAMESIZE 16 + + #include <glib.h> + #include <glib/gi18n.h> diff --git a/deskutils/gnome-initial-setup/files/patch-configure.ac b/deskutils/gnome-initial-setup/files/patch-configure.ac new file mode 100644 index 000000000..a6f35eb53 --- /dev/null +++ b/deskutils/gnome-initial-setup/files/patch-configure.ac @@ -0,0 +1,13 @@ +--- configure.ac.orig 2014-05-13 16:36:24.528044938 +0000 ++++ configure.ac 2014-05-13 16:36:33.085044357 +0000 +@@ -28,10 +28,6 @@ + GDM_REQUIRED_VERSION=3.8.3 + + PKG_CHECK_MODULES(INITIAL_SETUP, +- NetworkManager >= $NETWORK_MANAGER_REQUIRED_VERSION +- libnm-glib >= $NETWORK_MANAGER_REQUIRED_VERSION +- libnm-util >= $NETWORK_MANAGER_REQUIRED_VERSION +- libnm-gtk >= $NETWORK_MANAGER_REQUIRED_VERSION + polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION + accountsservice + gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION diff --git a/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_Makefile.am b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_Makefile.am new file mode 100644 index 000000000..4f196fc66 --- /dev/null +++ b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_Makefile.am @@ -0,0 +1,10 @@ +--- gnome-initial-setup/Makefile.am.orig 2014-05-13 20:57:45.985964188 +0000 ++++ gnome-initial-setup/Makefile.am 2014-05-13 20:57:58.345964781 +0000 +@@ -35,7 +35,6 @@ + pages/region/libgisregion.la \ + pages/keyboard/libgiskeyboard.la \ + pages/eulas/libgiseulas.la \ +- pages/network/libgisnetwork.la \ + pages/timezone/libgistimezone.la \ + pages/goa/libgisgoa.la \ + pages/account/libgisaccount.la \ diff --git a/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_gis-account-page.ui b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_gis-account-page.ui new file mode 100644 index 000000000..0947accef --- /dev/null +++ b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_gis-account-page.ui @@ -0,0 +1,21 @@ +$OpenBSD: patch-gnome-initial-setup_pages_account_gis-account-page_ui,v 1.1 2014/04/26 17:08:12 ajacoutot Exp $ + +https://bugzilla.gnome.org/show_bug.cgi?id=728879 +(upstream will _not_ accept --disable-kerberos patches) + +--- gnome-initial-setup/pages/account/gis-account-page.ui.orig Sat Apr 26 18:43:02 2014 ++++ gnome-initial-setup/pages/account/gis-account-page.ui Sat Apr 26 18:44:09 2014 +@@ -18,11 +18,13 @@ + <property name="visible">True</property> + </object> + </child> ++<!-- + <child> + <object class="GisAccountPageEnterprise" id="page_enterprise"> + <property name="visible">True</property> + </object> + </child> ++--> + </object> + <packing> + <property name="expand">False</property> diff --git a/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_gis-assistant.h b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_gis-assistant.h new file mode 100644 index 000000000..8d2d499d9 --- /dev/null +++ b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_gis-assistant.h @@ -0,0 +1,14 @@ +$OpenBSD: patch-gnome-initial-setup_gis-assistant_h,v 1.2 2014/03/27 19:41:05 ajacoutot Exp $ + +gis-assistant.h:38: error: redefinition of typedef 'GisAssistant' + +--- gnome-initial-setup/gis-assistant.h.orig Mon Mar 10 05:47:29 2014 ++++ gnome-initial-setup/gis-assistant.h Thu Mar 27 20:20:44 2014 +@@ -33,7 +33,6 @@ G_BEGIN_DECLS + #define GIS_IS_ASSISTANT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIS_TYPE_ASSISTANT)) + #define GIS_ASSISTANT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIS_TYPE_ASSISTANT, GisAssistantClass)) + +-typedef struct _GisAssistant GisAssistant; + typedef struct _GisAssistantClass GisAssistantClass; + + struct _GisAssistant diff --git a/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_gis-driver.h b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_gis-driver.h new file mode 100644 index 000000000..58b02cb91 --- /dev/null +++ b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_gis-driver.h @@ -0,0 +1,14 @@ +$OpenBSD: patch-gnome-initial-setup_gis-driver_h,v 1.2 2014/03/27 19:41:05 ajacoutot Exp $ + +gis-driver.h:40: error: redefinition of typedef 'GisDriver' + +--- gnome-initial-setup/gis-driver.h.orig Mon Mar 10 05:47:29 2014 ++++ gnome-initial-setup/gis-driver.h Thu Mar 27 20:20:44 2014 +@@ -35,7 +35,6 @@ G_BEGIN_DECLS + #define GIS_IS_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIS_TYPE_DRIVER)) + #define GIS_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIS_TYPE_DRIVER, GisDriverClass)) + +-typedef struct _GisDriver GisDriver; + typedef struct _GisDriverClass GisDriverClass; + + struct _GisDriver diff --git a/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_gis-page.h b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_gis-page.h new file mode 100644 index 000000000..46eda2714 --- /dev/null +++ b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_gis-page.h @@ -0,0 +1,14 @@ +$OpenBSD: patch-gnome-initial-setup_gis-page_h,v 1.2 2014/03/27 19:41:05 ajacoutot Exp $ + +gis-page.h:38: error: redefinition of typedef 'GisPage' + +--- gnome-initial-setup/gis-page.h.orig Mon Mar 10 05:47:29 2014 ++++ gnome-initial-setup/gis-page.h Thu Mar 27 20:20:44 2014 +@@ -33,7 +33,6 @@ G_BEGIN_DECLS + #define GIS_IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIS_TYPE_PAGE)) + #define GIS_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIS_TYPE_PAGE, GisPageClass)) + +-typedef struct _GisPage GisPage; + typedef struct _GisPageClass GisPageClass; + typedef struct _GisAssistantPagePrivate GisAssistantPagePrivate; + diff --git a/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_gnome-initial-setup.c b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_gnome-initial-setup.c new file mode 100644 index 000000000..e121d650d --- /dev/null +++ b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_gnome-initial-setup.c @@ -0,0 +1,18 @@ +--- gnome-initial-setup/gnome-initial-setup.c.orig 2014-05-13 17:04:40.424928151 +0000 ++++ gnome-initial-setup/gnome-initial-setup.c 2014-05-13 17:05:02.560926466 +0000 +@@ -40,7 +40,6 @@ + #include "pages/region/gis-region-page.h" + #include "pages/keyboard/gis-keyboard-page.h" + #include "pages/eulas/gis-eula-pages.h" +-#include "pages/network/gis-network-page.h" + #include "pages/timezone/gis-timezone-page.h" + #include "pages/goa/gis-goa-page.h" + #include "pages/account/gis-account-pages.h" +@@ -64,7 +63,6 @@ + PAGE (region, FALSE), + PAGE (keyboard, FALSE), + PAGE (eula, FALSE), +- PAGE (network, FALSE), + PAGE (timezone, TRUE), + PAGE (goa, FALSE), + PAGE (account, TRUE), diff --git a/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_Makefile.am b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_Makefile.am new file mode 100644 index 000000000..411df4825 --- /dev/null +++ b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_Makefile.am @@ -0,0 +1,10 @@ +--- gnome-initial-setup/pages/Makefile.am.orig 2014-05-13 17:20:22.072863244 +0000 ++++ gnome-initial-setup/pages/Makefile.am 2014-05-13 17:20:27.681863149 +0000 +@@ -4,7 +4,6 @@ + region \ + keyboard \ + eulas \ +- network \ + timezone \ + goa \ + account \ diff --git a/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_account_um-realm-manager.c b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_account_um-realm-manager.c new file mode 100644 index 000000000..d106593b6 --- /dev/null +++ b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_account_um-realm-manager.c @@ -0,0 +1,12 @@ +--- gnome-initial-setup/pages/account/um-realm-manager.c.orig 2014-05-14 09:14:52.647917166 +0000 ++++ gnome-initial-setup/pages/account/um-realm-manager.c 2014-05-14 09:15:20.166117911 +0000 +@@ -704,9 +704,6 @@ + code = krb5_get_init_creds_opt_alloc (k5, &opts); + g_return_val_if_fail (code == 0, code); + +- code = krb5_get_init_creds_opt_set_out_ccache (k5, opts, ccache); +- g_return_val_if_fail (code == 0, code); +- + code = krb5_get_init_creds_password (k5, &creds, principal, + (char *)password, + NULL, 0, 0, NULL, opts); diff --git a/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_keyboard_cc-input-chooser.c b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_keyboard_cc-input-chooser.c new file mode 100644 index 000000000..4f2b7f651 --- /dev/null +++ b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_keyboard_cc-input-chooser.c @@ -0,0 +1,24 @@ +$OpenBSD: patch-gnome-initial-setup_pages_keyboard_cc-input-chooser_c,v 1.1 2014/04/07 10:30:32 ajacoutot Exp $ + +gnome-initial-setup in free(): error: bogus pointer + +--- gnome-initial-setup/pages/keyboard/cc-input-chooser.c.orig Mon Mar 10 05:47:29 2014 ++++ gnome-initial-setup/pages/keyboard/cc-input-chooser.c Mon Apr 7 12:20:04 2014 +@@ -366,6 +366,8 @@ get_locale_infos (CcInputChooser *chooser) + gchar *lang, *country; + GList *list; + ++ lang = country = NULL; ++ + if (gnome_get_input_source_from_locale (priv->locale, &type, &id)) { + if (g_str_equal (type, INPUT_SOURCE_TYPE_XKB)) + add_row_to_list (chooser, type, id); +@@ -575,6 +577,8 @@ get_ibus_locale_infos (CcInputChooser *chooser) + const gchar *engine_id; + IBusEngineDesc *engine; + gchar *lang, *country; ++ ++ lang = country = NULL; + + if (!priv->ibus_engines) + return; diff --git a/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_keyboard_gis-keyboard-page.c b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_keyboard_gis-keyboard-page.c new file mode 100644 index 000000000..8afa5d380 --- /dev/null +++ b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_keyboard_gis-keyboard-page.c @@ -0,0 +1,28 @@ +$OpenBSD: patch-gnome-initial-setup_pages_keyboard_gis-keyboard-page_c,v 1.1 2014/04/07 10:30:32 ajacoutot Exp $ +--- gnome-initial-setup/pages/keyboard/gis-keyboard-page.c.orig Mon Apr 7 11:02:37 2014 ++++ gnome-initial-setup/pages/keyboard/gis-keyboard-page.c Mon Apr 7 11:03:32 2014 +@@ -128,14 +128,16 @@ update_input (GisKeyboardPage *self) + + set_input_settings (self); + +- if (gis_driver_get_mode (GIS_PAGE (self)->driver) == GIS_DRIVER_MODE_NEW_USER) { +- if (g_permission_get_allowed (priv->permission)) { +- set_localed_input (self); +- } else if (g_permission_get_can_acquire (priv->permission)) { +- g_permission_acquire_async (priv->permission, +- NULL, +- change_locale_permission_acquired, +- self); ++ if (priv->permission != NULL) { ++ if (gis_driver_get_mode (GIS_PAGE (self)->driver) == GIS_DRIVER_MODE_NEW_USER) { ++ if (g_permission_get_allowed (priv->permission)) { ++ set_localed_input (self); ++ } else if (g_permission_get_can_acquire (priv->permission)) { ++ g_permission_acquire_async (priv->permission, ++ NULL, ++ change_locale_permission_acquired, ++ self); ++ } + } + } + } diff --git a/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_password_um-realm-manager.c b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_password_um-realm-manager.c new file mode 100644 index 000000000..a89183611 --- /dev/null +++ b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_password_um-realm-manager.c @@ -0,0 +1,12 @@ +--- gnome-initial-setup/pages/password/um-realm-manager.c.orig 2014-05-14 09:31:21.758847992 +0000 ++++ gnome-initial-setup/pages/password/um-realm-manager.c 2014-05-14 09:31:31.283847033 +0000 +@@ -745,9 +745,6 @@ + code = krb5_get_init_creds_opt_alloc (k5, &opts); + g_return_val_if_fail (code == 0, code); + +- code = krb5_get_init_creds_opt_set_out_ccache (k5, opts, ccache); +- g_return_val_if_fail (code == 0, code); +- + code = krb5_get_init_creds_password (k5, &creds, principal, + (char *)password, + NULL, 0, 0, NULL, opts); diff --git a/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_password_um-utils.c b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_password_um-utils.c new file mode 100644 index 000000000..fb284e311 --- /dev/null +++ b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_password_um-utils.c @@ -0,0 +1,12 @@ +--- gnome-initial-setup/pages/password/um-utils.c.orig 2014-05-12 17:42:09.000000000 +0000 ++++ gnome-initial-setup/pages/password/um-utils.c 2014-05-13 20:51:30.994992990 +0000 +@@ -26,7 +26,8 @@ + #include <stdlib.h> + #include <sys/types.h> + #include <pwd.h> +-#include <utmp.h> ++#include <utmpx.h> ++#define UT_NAMESIZE 16 + + #include <glib.h> + #include <glib/gi18n.h> diff --git a/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_region_gis-region-page.c b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_region_gis-region-page.c new file mode 100644 index 000000000..bb8c67747 --- /dev/null +++ b/deskutils/gnome-initial-setup/files/patch-gnome-initial-setup_pages_region_gis-region-page.c @@ -0,0 +1,30 @@ +$OpenBSD: patch-gnome-initial-setup_pages_region_gis-region-page_c,v 1.1 2014/04/07 10:30:32 ajacoutot Exp $ +--- gnome-initial-setup/pages/region/gis-region-page.c.orig Mon Apr 7 11:02:42 2014 ++++ gnome-initial-setup/pages/region/gis-region-page.c Mon Apr 7 11:04:03 2014 +@@ -123,15 +123,17 @@ region_changed (CcRegionChooser *chooser, + setlocale (LC_MESSAGES, priv->new_locale_id); + gis_driver_locale_changed (driver); + +- if (gis_driver_get_mode (driver) == GIS_DRIVER_MODE_NEW_USER) { +- if (g_permission_get_allowed (priv->permission)) { +- set_localed_locale (page); +- } +- else if (g_permission_get_can_acquire (priv->permission)) { +- g_permission_acquire_async (priv->permission, +- NULL, +- change_locale_permission_acquired, +- page); ++ if (priv->permission != NULL) { ++ if (gis_driver_get_mode (driver) == GIS_DRIVER_MODE_NEW_USER) { ++ if (g_permission_get_allowed (priv->permission)) { ++ set_localed_locale (page); ++ } ++ else if (g_permission_get_can_acquire (priv->permission)) { ++ g_permission_acquire_async (priv->permission, ++ NULL, ++ change_locale_permission_acquired, ++ page); ++ } + } + } + user = act_user_manager_get_user (act_user_manager_get_default (), |