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.
Ok, look at this solution...I had to add a new function used to destroy properly notification gtk_widget (nw) and engine. widget" .
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_
-) 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: widget" , but with this event is also called "theme_ engine_ unref".
-) It calls the invokes the destruction of a notification pop-up by calling "gtk_destroy_
-) 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. widget, will be called in daemon.c when it is requested the destruction of widget in function _notify_ timeout_ destroy.
This function, called theme_destroy_