Ok, look at this solution...I had to add a new function used to destroy
properly notification gtk_widget (nw) and engine.
I noticed that the problem was in an uncorrected closure of a G_Modules after
the destruction of the widget.
Practically the daemon destroys engine, in particular "engine->module", when it
is already used by the notification pop-up.
The correct way to destroy engine is this:
-) Destroy notification pop-up by calling "gtk_distroy_widget".
-) Decrease value of "engine->ref_count" and if it is equal to zero,
unload engine->module and destroy engine.
Currently the daemon works in this modality:
-) It calls the invokes the destruction of a notification pop-up by
calling "gtk_destroy_widget", but with this event is also called
"theme_engine_unref".
-) It decreases value of "engine->ref_count" and if it is equal to
zero, it unloads "engine->module" and destroys "engine".
-) It ends the destruction of a notification pop-up.
The daemon unloads engine->module when it is still in use by gtk_widget. I
wrote the function that follows the correct way for to destroy widget and
eventually engine.
This function, called theme_destroy_widget, will be called in daemon.c when it
is requested the destruction of widget in function _notify_timeout_destroy.
** Attachment added: "notification-daemon_0.4.0-0ubuntu3_rev1.debdiff"
http://launchpadlibrarian.net/23115868/notification-daemon_0.4.0-0ubuntu3_rev1.debdiff
--
notification-daemon crashed with SIGSEGV in strcmp()
https://bugs.launchpad.net/bugs/131227
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs