Update to 3.10.1

This commit is contained in:
Richard Hughes 2013-10-16 08:15:11 +01:00 committed by Debarshi Ray
parent cecb48d8b7
commit 97681dc088
5 changed files with 7 additions and 201 deletions

1
.gitignore vendored
View File

@ -34,3 +34,4 @@
/gnome-online-accounts-3.9.91.tar.xz
/gnome-online-accounts-3.9.92.tar.xz
/gnome-online-accounts-3.10.0.tar.xz
/gnome-online-accounts-3.10.1.tar.xz

View File

@ -1,161 +0,0 @@
From af7ee1e614c89585e688f2e10f34c3254242836d Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Thu, 26 Sep 2013 14:42:14 +0200
Subject: [PATCH 1/2] Ensure that the factory is initialized before using the
account manager
GoaTelepathyProvider is not the only one who uses the account manager.
GoaTpAccountLinker uses it too. We should initialize the client
factory before using the linker so that we really have all required
account and connection features.
Fixes: https://bugzilla.gnome.org/708462
---
src/daemon/goatpaccountlinker.c | 3 +++
src/goabackend/goatelepathyprovider.c | 30 ++----------------------------
src/goabackend/goautils.c | 34 ++++++++++++++++++++++++++++++++++
src/goabackend/goautils.h | 2 ++
4 files changed, 41 insertions(+), 28 deletions(-)
diff --git a/src/daemon/goatpaccountlinker.c b/src/daemon/goatpaccountlinker.c
index ea1eda9..b7142ea 100644
--- a/src/daemon/goatpaccountlinker.c
+++ b/src/daemon/goatpaccountlinker.c
@@ -34,6 +34,7 @@
#include "goatpaccountlinker.h"
#include "goa/goa.h"
#include "goabackend/goalogging.h"
+#include "goabackend/goautils.h"
#define GOA_TP_ACCOUNT_LINKER_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE ((obj), GOA_TYPE_TP_ACCOUNT_LINKER, \
@@ -579,6 +580,8 @@ goa_tp_account_linker_class_init (GoaTpAccountLinkerClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ goa_utils_initialize_client_factory ();
+
g_type_class_add_private (gobject_class,
sizeof (GoaTpAccountLinkerPrivate));
diff --git a/src/goabackend/goatelepathyprovider.c b/src/goabackend/goatelepathyprovider.c
index 434c4ff..7c800bd 100644
--- a/src/goabackend/goatelepathyprovider.c
+++ b/src/goabackend/goatelepathyprovider.c
@@ -30,6 +30,7 @@
#include "goaprovider.h"
#include "goaprovider-priv.h"
#include "goatelepathyprovider.h"
+#include "goautils.h"
typedef struct _GoaTelepathyProviderPrivate GoaTelepathyProviderPrivate;
@@ -1028,39 +1029,12 @@ goa_telepathy_provider_finalize (GObject *object)
}
static void
-initialize_client_factory (void)
-{
- TpSimpleClientFactory *factory;
- TpAccountManager *account_manager;
- GQuark account_features[] = {
- TP_ACCOUNT_FEATURE_STORAGE,
- TP_ACCOUNT_FEATURE_CONNECTION,
- 0};
- GQuark connection_features[] = {
- TP_CONNECTION_FEATURE_AVATAR_REQUIREMENTS,
- TP_CONNECTION_FEATURE_CONTACT_INFO,
- 0};
-
- /* We make sure that new instances of Telepathy objects will have all
- * the features we need. */
- factory = tp_simple_client_factory_new (NULL);
- tp_simple_client_factory_add_account_features (factory, account_features);
- tp_simple_client_factory_add_connection_features (factory, connection_features);
-
- account_manager = tp_account_manager_new_with_factory (factory);
- tp_account_manager_set_default (account_manager);
-
- g_object_unref (account_manager);
- g_object_unref (factory);
-}
-
-static void
goa_telepathy_provider_class_init (GoaTelepathyProviderClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GoaProviderClass *provider_class = GOA_PROVIDER_CLASS (klass);
- initialize_client_factory ();
+ goa_utils_initialize_client_factory ();
object_class->constructed = goa_telepathy_provider_constructed;
object_class->finalize = goa_telepathy_provider_finalize;
diff --git a/src/goabackend/goautils.c b/src/goabackend/goautils.c
index 375df14..ff49cf7 100644
--- a/src/goabackend/goautils.c
+++ b/src/goabackend/goautils.c
@@ -25,6 +25,7 @@
#include <glib/gi18n-lib.h>
#include <libsecret/secret.h>
+#include <telepathy-glib/telepathy-glib.h>
#include "goaprovider.h"
#include "goalogging.h"
@@ -39,6 +40,39 @@ static const SecretSchema secret_password_schema =
}
};
+void
+goa_utils_initialize_client_factory (void)
+{
+ static gsize once_init_value = 0;
+
+ if (g_once_init_enter (&once_init_value))
+ {
+ TpSimpleClientFactory *factory;
+ TpAccountManager *account_manager;
+ GQuark account_features[] = {TP_ACCOUNT_FEATURE_STORAGE,
+ TP_ACCOUNT_FEATURE_CONNECTION,
+ 0};
+ GQuark connection_features[] = {TP_CONNECTION_FEATURE_AVATAR_REQUIREMENTS,
+ TP_CONNECTION_FEATURE_CONTACT_INFO,
+ 0};
+
+ /* We make sure that new instances of Telepathy objects will have all
+ * the features we need.
+ */
+ factory = tp_simple_client_factory_new (NULL);
+ tp_simple_client_factory_add_account_features (factory, account_features);
+ tp_simple_client_factory_add_connection_features (factory, connection_features);
+
+ account_manager = tp_account_manager_new_with_factory (factory);
+ tp_account_manager_set_default (account_manager);
+
+ g_object_unref (account_manager);
+ g_object_unref (factory);
+
+ g_once_init_leave (&once_init_value, 1);
+ }
+}
+
gboolean
goa_utils_check_duplicate (GoaClient *client,
const gchar *identity,
diff --git a/src/goabackend/goautils.h b/src/goabackend/goautils.h
index 454e702..eb9af3b 100644
--- a/src/goabackend/goautils.h
+++ b/src/goabackend/goautils.h
@@ -36,6 +36,8 @@ G_BEGIN_DECLS
typedef gpointer (*GoaPeekInterfaceFunc) (GoaObject *);
+void goa_utils_initialize_client_factory (void);
+
gboolean goa_utils_check_duplicate (GoaClient *client,
const gchar *identity,
const gchar *presentation_identity,
--
1.8.3.1

View File

@ -1,30 +0,0 @@
From e3622e19ab8b4308be54c2d15bc3fbf304427d5f Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Fri, 27 Sep 2013 15:06:47 +0200
Subject: [PATCH 2/2] oauth2: Propagate the error if the dialog is dismissed
during refresh
Fallout from a6ce50a8ab89242d7d25611c3828033e854a263d
Fixes: https://bugzilla.gnome.org/708832
---
src/goabackend/goaoauth2provider.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/goabackend/goaoauth2provider.c b/src/goabackend/goaoauth2provider.c
index 138bde3..b545535 100644
--- a/src/goabackend/goaoauth2provider.c
+++ b/src/goabackend/goaoauth2provider.c
@@ -1405,6 +1405,9 @@ goa_oauth2_provider_refresh_account (GoaProvider *_provider,
ret = TRUE;
out:
+ if (priv->error != NULL)
+ g_propagate_error (error, priv->error);
+
gtk_widget_destroy (dialog);
return ret;
}
--
1.8.3.1

View File

@ -1,6 +1,6 @@
Name: gnome-online-accounts
Version: 3.10.0
Release: 3%{?dist}
Version: 3.10.1
Release: 1%{?dist}
Summary: Single sign-on framework for GNOME
Group: System Environment/Libraries
@ -8,11 +8,6 @@ License: LGPLv2+
URL: https://live.gnome.org/GnomeOnlineAccounts
Source0: http://download.gnome.org/sources/gnome-online-accounts/3.10/%{name}-%{version}.tar.xz
# https://bugzilla.gnome.org/show_bug.cgi?id=708462
Patch0: 0001-Ensure-that-the-factory-is-initialized-before-using-.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=708832
Patch1: 0002-oauth2-Propagate-the-error-if-the-dialog-is-dismisse.patch
BuildRequires: gcr-devel
BuildRequires: glib2-devel >= 2.35
BuildRequires: gtk3-devel >= 3.5.1
@ -48,8 +43,6 @@ developing applications that use %{name}.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%build
%configure \
@ -120,6 +113,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{_libdir}/goa-1.0/include
%changelog
* Wed Oct 16 2013 Richard Hughes <rhughes@redhat.com> - 3.10.1-1
- Update to 3.10.1
* Tue Oct 08 2013 Debarshi Ray <rishi@fedoraproject.org> - 3.10.0-3
- Add a Requires on realmd (Red Hat #949741)

View File

@ -1 +1 @@
5e905925b5658b29a6aac2b8c24b4f2e gnome-online-accounts-3.10.0.tar.xz
a2930d802195902069f7a57c8380c2f9 gnome-online-accounts-3.10.1.tar.xz