Merge lp:~kaihengfeng/unity-settings-daemon/lp1575867 into lp:unity-settings-daemon

Proposed by Kai-Heng Feng
Status: Needs review
Proposed branch: lp:~kaihengfeng/unity-settings-daemon/lp1575867
Merge into: lp:unity-settings-daemon
Diff against target: 59 lines (+6/-4)
2 files modified
gnome-settings-daemon/gsd-rr-config.c (+5/-4)
gnome-settings-daemon/gsd-rr-private.h (+1/-0)
To merge this branch: bzr merge lp:~kaihengfeng/unity-settings-daemon/lp1575867
Reviewer Review Type Date Requested Status
Robert Ancell Approve
Review via email: mp+307796@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Robert Ancell (robert-ancell) wrote :

Makes sense to me.

review: Approve

Unmerged revisions

4157. By Kai-Heng Feng

gsd-rr: On some hybrid graphics system, the output ports may have the same
name. Use id instead of name in find_output() can correctly handle this
situation. (LP: #1575867)

The orignal author of this patch is Rafał Cieślak (rafalcieslak256).

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'gnome-settings-daemon/gsd-rr-config.c'
2--- gnome-settings-daemon/gsd-rr-config.c 2014-06-26 02:32:12 +0000
3+++ gnome-settings-daemon/gsd-rr-config.c 2016-10-06 07:50:30 +0000
4@@ -521,6 +521,7 @@
5 const guint8 *edid_data = gsd_rr_output_get_edid_data (rr_output, NULL);
6 GsdRRCrtc *crtc;
7
8+ output->priv->id = gsd_rr_output_get_id (rr_output);
9 output->priv->name = g_strdup (gsd_rr_output_get_name (rr_output));
10 output->priv->connected = gsd_rr_output_is_connected (rr_output);
11 output->priv->display_name = g_strdup (gsd_rr_output_get_display_name (rr_output));
12@@ -867,7 +868,7 @@
13 }
14
15 static GsdRROutputInfo *
16-find_output (GsdRRConfig *config, const char *name)
17+find_output (GsdRRConfig *config, guint32 id)
18 {
19 int i;
20
21@@ -875,7 +876,7 @@
22 {
23 GsdRROutputInfo *output = config->priv->outputs[i];
24
25- if (strcmp (name, output->priv->name) == 0)
26+ if (id == output->priv->id)
27 return output;
28 }
29
30@@ -897,7 +898,7 @@
31 GsdRROutputInfo *output1 = c1->priv->outputs[i];
32 GsdRROutputInfo *output2;
33
34- output2 = find_output (c2, output1->priv->name);
35+ output2 = find_output (c2, output1->priv->id);
36 if (!output2 || !output_match (output1, output2))
37 return FALSE;
38 }
39@@ -921,7 +922,7 @@
40 GsdRROutputInfo *output1 = c1->priv->outputs[i];
41 GsdRROutputInfo *output2;
42
43- output2 = find_output (c2, output1->priv->name);
44+ output2 = find_output (c2, output1->priv->id);
45 if (!output2 || !output_equal (output1, output2))
46 return FALSE;
47 }
48
49=== modified file 'gnome-settings-daemon/gsd-rr-private.h'
50--- gnome-settings-daemon/gsd-rr-private.h 2014-06-26 02:32:12 +0000
51+++ gnome-settings-daemon/gsd-rr-private.h 2016-10-06 07:50:30 +0000
52@@ -46,6 +46,7 @@
53
54 struct _GsdRROutputInfoPrivate
55 {
56+ guint32 id;
57 char * name;
58
59 gboolean on;

Subscribers

People subscribed via source and target branches