summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2012-07-26 17:44:56 -0400
committerRay Strode <rstrode@redhat.com>2012-10-26 13:29:30 -0400
commit92033ce0f56538ecf68b37cfa6d555989e951896 (patch)
treefc0e90437f040f27ef5e71b6ed44def590b42184
parent9171bab5e58d5f14ae356d376e18b9c2ac7ccb3c (diff)
downloadgnome-shell-92033ce0f56538ecf68b37cfa6d555989e951896.tar.gz
recorder: keep test-recorder alive until done recording
Recording continues for some time after the recorder object is closed, since closing isn't a synchronous operation. This commit defers quiting the test-recorder application until the recording is finished. https://bugzilla.gnome.org/show_bug.cgi?id=680647
-rw-r--r--src/test-recorder.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/test-recorder.c b/src/test-recorder.c
index 69f6f601f..599266a70 100644
--- a/src/test-recorder.c
+++ b/src/test-recorder.c
@@ -16,10 +16,20 @@ stop_recording_timeout (ClutterActor *stage)
if (recorder)
{
shell_recorder_close (recorder);
+
+ /* quit when the recorder finishes closing
+ */
+ g_object_weak_ref (G_OBJECT (recorder),
+ (GWeakNotify)
+ clutter_actor_destroy,
+ stage);
+
g_object_unref (recorder);
}
-
- clutter_actor_destroy (stage);
+ else
+ {
+ clutter_actor_destroy (stage);
+ }
return FALSE;
}