frequent runtime messages
Opened this issue · 1 comments
I get multiple messages a second logged to .xsession-errors
, which quickly grows to several GB in size and fills up my drive.
(multiload-ng-systray:2037938): multiload-ng-CRITICAL **: 14:26:00.753: systray_graph_update_cb: assertion 'gtk_status_icon_is_embedded(status_icons[g->id])' failed
(multiload-ng-systray:2037938): multiload-ng-CRITICAL **: 14:26:00.830: systray_graph_update_cb: assertion 'gtk_status_icon_is_embedded(status_icons[g->id])' failed
(multiload-ng-systray:2037938): multiload-ng-CRITICAL **: 14:26:01.738: systray_graph_update_cb: assertion 'gtk_status_icon_is_embedded(status_icons[g->id])' failed
(multiload-ng-systray:2037938): multiload-ng-CRITICAL **: 14:26:01.738: systray_graph_update_cb: assertion 'gtk_status_icon_is_embedded(status_icons[g->id])' failed
This is revision 743885d. I will pull the most recent revision, recompile, and see if it continues, which appears to be the latest revision.
This is apparently because gtk_status_icon_is_embedded
has been deprecated since GTK 3.14, so always returns false when GTK >= 3.14. The macros used to prevent the deprecation messages for this function work, but do not prevent the assertion messages you see because gtk_status_icon_is_embedded
is wrapped inside g_return_fail
. g_return_fail
goes ahead and prints its own assertion message since the deprecated gtk_status_icon_is_embedded
always returns false:
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
g_return_if_fail (gtk_status_icon_is_embedded(status_icons[g->id]));
guint icon_size = gtk_status_icon_get_size(status_icons[g->id]);
G_GNUC_END_IGNORE_DEPRECATIONS
The obvious solution is to simply use an if
clause instead of g_return_if_fail
.