|
|
4ab194 |
From 0c40a610483824f649561f9b171112aba2971519 Mon Sep 17 00:00:00 2001
|
|
|
4ab194 |
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@gmail.com>
|
|
|
4ab194 |
Date: Mon, 16 Jun 2014 19:55:39 +0200
|
|
|
4ab194 |
Subject: [PATCH] Fix a floating display warning
|
|
|
4ab194 |
|
|
|
4ab194 |
You can reproduce the error by starting the client in kiosk and shuting
|
|
|
4ab194 |
down the guest.
|
|
|
4ab194 |
|
|
|
4ab194 |
#0 0x000000317e432915 in raise (sig=6) at
|
|
|
4ab194 |
../nptl/sysdeps/unix/sysv/linux/raise.c:64
|
|
|
4ab194 |
#1 0x000000317e4340f5 in abort () at abort.c:92
|
|
|
4ab194 |
#2 0x000000317fc4a98a in g_logv (log_domain=0x318730e657 "Gtk",
|
|
|
4ab194 |
log_level=<value optimized out>, format=
|
|
|
4ab194 |
0x31873a50a8 "A floating object was finalized. This means that
|
|
|
4ab194 |
someone\ncalled g_object_unref() on an object that had only a
|
|
|
4ab194 |
floating\nreference; the initial floating reference is not owned by
|
|
|
4ab194 |
anyone\nand must be remo"..., args1=0x7fffffffd5f0)
|
|
|
4ab194 |
at gmessages.c:557
|
|
|
4ab194 |
#3 0x000000317fc4aa23 in g_log (log_domain=<value optimized out>,
|
|
|
4ab194 |
log_level=<value optimized out>,
|
|
|
4ab194 |
format=<value optimized out>) at gmessages.c:577
|
|
|
4ab194 |
#4 0x000000318717ba72 in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
|
|
|
4ab194 |
#5 0x0000000000426eb5 in
|
|
|
4ab194 |
virt_viewer_display_spice_finalize (obj=0x6fec20
|
|
|
4ab194 |
[VirtViewerDisplaySpice])
|
|
|
4ab194 |
at virt-viewer-display-spice.c:67
|
|
|
4ab194 |
#6 0x0000003180c106a4 in g_object_unref (_object=0x6fec20) at
|
|
|
4ab194 |
gobject.c:2712
|
|
|
4ab194 |
#7 0x0000000000425b5d in destroy_display (data=0x6fec20) at
|
|
|
4ab194 |
virt-viewer-session-spice.c:596
|
|
|
4ab194 |
#8 0x000000317fc1667b in g_ptr_array_foreach (array=0x74a040,
|
|
|
4ab194 |
func=0x425ae7 <destroy_display>, user_data=0x0)
|
|
|
4ab194 |
at garray.c:1306
|
|
|
4ab194 |
#9 0x000000317fc16e7b in g_ptr_array_free (farray=0x74a040,
|
|
|
4ab194 |
free_segment=1) at garray.c:938
|
|
|
4ab194 |
#10 0x000000317fc2906a in g_data_set_internal (datalist=
|
|
|
4ab194 |
out>, key_id=1297, data=0x0, destroy_func=0)
|
|
|
4ab194 |
at gdataset.c:351
|
|
|
4ab194 |
#11 g_datalist_id_set_data_full (datalist=<value optimized out>,
|
|
|
4ab194 |
key_id=1297, data=0x0, destroy_func=0) at gdataset.c:598
|
|
|
4ab194 |
#12 0x00000000004268d0 in
|
|
|
4ab194 |
virt_viewer_session_spice_channel_destroy (s=0x800000 [SpiceSession],
|
|
|
4ab194 |
channel=
|
|
|
4ab194 |
---
|
|
|
4ab194 |
src/virt-viewer-session-spice.c | 2 +-
|
|
|
4ab194 |
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
4ab194 |
|
|
|
4ab194 |
diff --git a/src/virt-viewer-session-spice.c b/src/virt-viewer-session-spice.c
|
|
|
4ab194 |
index fedde18..cb62444 100644
|
|
|
4ab194 |
--- a/src/virt-viewer-session-spice.c
|
|
|
4ab194 |
+++ b/src/virt-viewer-session-spice.c
|
|
|
4ab194 |
@@ -628,7 +628,7 @@ virt_viewer_session_spice_display_monitors(SpiceChannel *channel,
|
|
|
4ab194 |
if (display == NULL) {
|
|
|
4ab194 |
display = virt_viewer_display_spice_new(self, channel, i);
|
|
|
4ab194 |
g_debug("creating spice display (#:%d)", i);
|
|
|
4ab194 |
- g_ptr_array_index(displays, i) = g_object_ref(display);
|
|
|
4ab194 |
+ g_ptr_array_index(displays, i) = g_object_ref_sink(display);
|
|
|
4ab194 |
}
|
|
|
4ab194 |
|
|
|
4ab194 |
virt_viewer_session_add_display(VIRT_VIEWER_SESSION(self),
|