Merge lp:~darkxst/ubuntu/raring/clutter-1.0/lp963925 into lp:ubuntu/raring/clutter-1.0

Proposed by Tim Lunn
Status: Merged
Merge reported by: Tim Lunn
Merged at revision: not available
Proposed branch: lp:~darkxst/ubuntu/raring/clutter-1.0/lp963925
Merge into: lp:ubuntu/raring/clutter-1.0
Diff against target: 125 lines (+81/-2)
5 files modified
.pc/applied-patches (+1/-0)
clutter/cally/cally-stage.c (+18/-2)
debian/changelog (+8/-0)
debian/patches/git_backport_cally_weak_pointer.patch (+53/-0)
debian/patches/series (+1/-0)
To merge this branch: bzr merge lp:~darkxst/ubuntu/raring/clutter-1.0/lp963925
Reviewer Review Type Date Requested Status
Iain Lane Approve
Ubuntu branches Pending
Review via email: mp+164832@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Iain Lane (laney) wrote :

Uploaded to r-proposed - thanks! Not sure what will happen to this MP...

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.pc/applied-patches'
2--- .pc/applied-patches 2012-11-08 11:03:05 +0000
3+++ .pc/applied-patches 2013-05-21 04:12:28 +0000
4@@ -1,1 +1,2 @@
5 fix_test_data_path.patch
6+git_backport_cally_weak_pointer.patch
7
8=== modified file 'clutter/cally/cally-stage.c'
9--- clutter/cally/cally-stage.c 2012-03-21 13:43:06 +0000
10+++ clutter/cally/cally-stage.c 2013-05-21 04:12:28 +0000
11@@ -139,7 +139,11 @@
12 AtkObject *old = NULL;
13
14 if (self->priv->key_focus != NULL)
15- old = clutter_actor_get_accessible (self->priv->key_focus);
16+ {
17+ g_object_remove_weak_pointer (G_OBJECT (self->priv->key_focus),
18+ (gpointer *) &self->priv->key_focus);
19+ old = clutter_actor_get_accessible (self->priv->key_focus);
20+ }
21 else
22 old = clutter_actor_get_accessible (CLUTTER_ACTOR (stage));
23
24@@ -154,7 +158,19 @@
25 self->priv->key_focus = key_focus;
26
27 if (key_focus != NULL)
28- new = clutter_actor_get_accessible (key_focus);
29+ {
30+ /* ensure that if the key focus goes away, the field inside
31+ * CallyStage is reset. see bug:
32+ *
33+ * https://bugzilla.gnome.org/show_bug.cgi?id=692706
34+ *
35+ * we remove the weak pointer above.
36+ */
37+ g_object_add_weak_pointer (G_OBJECT (self->priv->key_focus),
38+ (gpointer *) &self->priv->key_focus);
39+
40+ new = clutter_actor_get_accessible (key_focus);
41+ }
42 else
43 new = clutter_actor_get_accessible (CLUTTER_ACTOR (stage));
44
45
46=== modified file 'debian/changelog'
47--- debian/changelog 2013-02-28 12:54:45 +0000
48+++ debian/changelog 2013-05-21 04:12:28 +0000
49@@ -1,3 +1,11 @@
50+clutter-1.0 (1.12.2-0ubuntu3.1) raring; urgency=low
51+
52+ * debian/patches/git_cally_weak_pointer.patch:
53+ - Upstream git patch backported to fix crash (LP: #963925)
54+
55+
56+ -- Tim Lunn <tim@feathertop.org> Tue, 21 May 2013 13:08:37 +1000
57+
58 clutter-1.0 (1.12.2-0ubuntu3) raring; urgency=low
59
60 * Remove Breaks from libclutter-1.0-0 to libcogl11 — our proposed-migration
61
62=== added file 'debian/patches/git_backport_cally_weak_pointer.patch'
63--- debian/patches/git_backport_cally_weak_pointer.patch 1970-01-01 00:00:00 +0000
64+++ debian/patches/git_backport_cally_weak_pointer.patch 2013-05-21 04:12:28 +0000
65@@ -0,0 +1,53 @@
66+From a586c23ddcef9a11f6e343b4b6848cde2df54927 Mon Sep 17 00:00:00 2001
67+From: Emmanuele Bassi <ebassi@gnome.org>
68+Date: Mon, 06 May 2013 22:46:25 +0000
69+Subject: cally: Use a weak pointer to hold the key focus in CallyStage
70+
71+We want to avoid the pointer getting stale, and causing crashes.
72+
73+https://bugzilla.gnome.org/show_bug.cgi?id=692706
74+(cherry picked from commit 19391a9626b087bd4df452e8699d53caa54c350f)
75+
76+Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
77+---
78+diff --git a/clutter/cally/cally-stage.c b/clutter/cally/cally-stage.c
79+index 2b1cfd1..c95ccb0 100644
80+--- a/clutter/cally/cally-stage.c
81++++ b/clutter/cally/cally-stage.c
82+@@ -139,7 +139,11 @@ cally_stage_notify_key_focus_cb (ClutterStage *stage,
83+ AtkObject *old = NULL;
84+
85+ if (self->priv->key_focus != NULL)
86+- old = clutter_actor_get_accessible (self->priv->key_focus);
87++ {
88++ g_object_remove_weak_pointer (G_OBJECT (self->priv->key_focus),
89++ (gpointer *) &self->priv->key_focus);
90++ old = clutter_actor_get_accessible (self->priv->key_focus);
91++ }
92+ else
93+ old = clutter_actor_get_accessible (CLUTTER_ACTOR (stage));
94+
95+@@ -154,7 +158,19 @@ cally_stage_notify_key_focus_cb (ClutterStage *stage,
96+ self->priv->key_focus = key_focus;
97+
98+ if (key_focus != NULL)
99+- new = clutter_actor_get_accessible (key_focus);
100++ {
101++ /* ensure that if the key focus goes away, the field inside
102++ * CallyStage is reset. see bug:
103++ *
104++ * https://bugzilla.gnome.org/show_bug.cgi?id=692706
105++ *
106++ * we remove the weak pointer above.
107++ */
108++ g_object_add_weak_pointer (G_OBJECT (self->priv->key_focus),
109++ (gpointer *) &self->priv->key_focus);
110++
111++ new = clutter_actor_get_accessible (key_focus);
112++ }
113+ else
114+ new = clutter_actor_get_accessible (CLUTTER_ACTOR (stage));
115+
116+--
117+cgit v0.9.1
118+
119
120=== modified file 'debian/patches/series'
121--- debian/patches/series 2012-11-08 11:03:05 +0000
122+++ debian/patches/series 2013-05-21 04:12:28 +0000
123@@ -1,1 +1,2 @@
124 fix_test_data_path.patch
125+git_backport_cally_weak_pointer.patch

Subscribers

People subscribed via source and target branches

to all changes: