[gnome-settings-daemon] color: adapt to GnomeRR API changes
- From: Giovanni Campagna <gcampagna src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-settings-daemon] color: adapt to GnomeRR API changes
- Date: Mon, 19 Aug 2013 07:53:50 +0000 (UTC)
commit 7167c7811c789742823919dff3b3f974ff5abb3d
Author: Giovanni Campagna <gcampagn redhat com>
Date: Thu Aug 8 14:01:08 2013 +0200
color: adapt to GnomeRR API changes
GnomeRR no longer exposes disconnected outputs, so we don't need
to filter them ourselves.
https://bugzilla.gnome.org/show_bug.cgi?id=705507
plugins/color/gsd-color-manager.c | 4 +--
plugins/color/gsd-color-state.c | 41 ++++++++++++++++++-------------------
plugins/color/gsd-color-state.h | 3 +-
3 files changed, 22 insertions(+), 26 deletions(-)
---
diff --git a/plugins/color/gsd-color-manager.c b/plugins/color/gsd-color-manager.c
index 711def4..381fafa 100644
--- a/plugins/color/gsd-color-manager.c
+++ b/plugins/color/gsd-color-manager.c
@@ -72,9 +72,7 @@ gsd_color_manager_start (GsdColorManager *manager,
gnome_settings_profile_start (NULL);
/* start the device probing */
- ret = gsd_color_state_start (priv->state, error);
- if (!ret)
- goto out;
+ gsd_color_state_start (priv->state);
/* start the profiles collection */
ret = gsd_color_profiles_start (priv->profiles, error);
diff --git a/plugins/color/gsd-color-state.c b/plugins/color/gsd-color-state.c
index 20a1755..04823e4 100644
--- a/plugins/color/gsd-color-state.c
+++ b/plugins/color/gsd-color-state.c
@@ -564,8 +564,6 @@ gcm_session_get_state_output_by_id (GsdColorState *state,
goto out;
}
for (i = 0; outputs[i] != NULL && output == NULL; i++) {
- if (!gnome_rr_output_is_connected (outputs[i]))
- continue;
output_id = gcm_session_get_output_id (state, outputs[i]);
if (g_strcmp0 (output_id, device_id) == 0)
output = outputs[i];
@@ -602,8 +600,6 @@ gcm_session_use_output_profile_for_screen (GsdColorState *state,
return FALSE;
}
for (i = 0; outputs[i] != NULL; i++) {
- if (!gnome_rr_output_is_connected (outputs[i]))
- continue;
if (connected == NULL)
connected = outputs[i];
if (gnome_rr_output_get_is_primary (outputs[i]))
@@ -1217,9 +1213,6 @@ gnome_rr_screen_output_changed_cb (GnomeRRScreen *screen,
return;
}
for (i = 0; outputs[i] != NULL; i++) {
- if (!gnome_rr_output_is_connected (outputs[i]))
- continue;
-
/* get CdDevice for this output */
cd_client_find_device_by_property (state->priv->client,
CD_DEVICE_METADATA_XRANDR_NAME,
@@ -1327,8 +1320,7 @@ gcm_session_client_connect_cb (GObject *source_object,
goto out;
}
for (i = 0; outputs[i] != NULL; i++) {
- if (gnome_rr_output_is_connected (outputs[i]))
- gcm_session_add_state_output (state, outputs[i]);
+ gcm_session_add_state_output (state, outputs[i]);
}
/* only connect when colord is awake */
@@ -1357,27 +1349,34 @@ out:
return;
}
-gboolean
-gsd_color_state_start (GsdColorState *state,
- GError **error)
+static void
+on_rr_screen_acquired (GObject *object,
+ GAsyncResult *result,
+ gpointer data)
{
+ GsdColorState *state = data;
GsdColorStatePrivate *priv = state->priv;
- gboolean ret = FALSE;
+ GnomeRRScreen *screen;
- /* coldplug the list of screens */
- priv->state_screen = gnome_rr_screen_new (gdk_screen_get_default (), error);
- if (priv->state_screen == NULL)
- goto out;
+ screen = gnome_rr_screen_new_finish (result, NULL);
+ if (!screen)
+ return;
+
+ priv->state_screen = screen;
cd_client_connect (priv->client,
NULL,
gcm_session_client_connect_cb,
state);
+}
- /* success */
- ret = TRUE;
-out:
- return ret;
+void
+gsd_color_state_start (GsdColorState *state)
+{
+ /* coldplug the list of screens */
+ gnome_rr_screen_new_async (gdk_screen_get_default (),
+ on_rr_screen_acquired,
+ state);
}
static void
diff --git a/plugins/color/gsd-color-state.h b/plugins/color/gsd-color-state.h
index ed10a70..1acf924 100644
--- a/plugins/color/gsd-color-state.h
+++ b/plugins/color/gsd-color-state.h
@@ -47,8 +47,7 @@ GType gsd_color_state_get_type (void);
GQuark gsd_color_state_error_quark (void);
GsdColorState * gsd_color_state_new (void);
-gboolean gsd_color_state_start (GsdColorState *state,
- GError **error);
+void gsd_color_state_start (GsdColorState *state);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]