GNOME Bugzilla – Bug 683921
Never finalize object 'Monitor' in this example.
Last modified: 2012-09-17 08:18:35 UTC
Created attachment 224195 [details] example code. In this example, not call ~Test() function after manager.quit (). Is a bug?
Created attachment 224296 [details] It works ok.
no.1, output: [heiher@heiher-aio telepathy]$ ./hev-gabble-monitor ** (process:2689): DEBUG: hev-gabble-monitor.vala:100: Manager ** (process:2689): DEBUG: hev-gabble-monitor.vala:36: Monitor ^C** (process:2689): DEBUG: hev-gabble-monitor.vala:122: ~Manager no.2, output: [heiher@heiher-aio telepathy]$ ./hev-gabble-monitor ** (process:2629): DEBUG: hev-gabble-monitor.vala:97: Manager ** (process:2629): DEBUG: hev-gabble-monitor.vala:36: Monitor ^C** (process:2629): DEBUG: hev-gabble-monitor.vala:119: ~Manager ** (process:2629): DEBUG: hev-gabble-monitor.vala:86: ~Monitor
Build hev-gabble-monitor.vala to hev-gabble-monitor.c: data1 unref: if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) { // never enter line 928 (_data1_->ensure_sidecar_handler_target_destroy_notify == NULL) ? NULL : (_data1_->ensure_sidecar_handler_tar get_destroy_notify (_data1_->ensure_sidecar_handler_target), NULL); // unref self required self unrefing... just a joke. } construct: line 1193 _data1_->ensure_sidecar_handler_target = block1_data_ref (_data1_); line 1194 _data1_->ensure_sidecar_handler_target_destroy_notify = block1_data_unref;
Created attachment 224437 [details] hev-gabble-monitor.c
Created attachment 224474 [details] a small test case.
*** This bug has been marked as a duplicate of bug 684182 ***