I’d like to bind the reveal-child
property of a GtkRevealer
to mirror an action state. I have a toggle action named app.playback-playing
and I wanted it to be the source of that binding.
What I did was the following:
<binding name="reveal-child">
<closure type="gboolean" function="g_variant_get_boolean">
<lookup name="state">
<closure type="GSimpleAction" function="g_action_map_lookup_action">
<closure type="GActionMap" function="g_application_get_default"></closure>
<constant type="gchararray">playback-playing</constant>
</closure>
</lookup>
</closure>
</binding>
which is very contrived and is not working… Also, when I quit my application it generates lots of warnings that it didn’t before:
Console output
(qxplayer:7022): GLib-GIO-WARNING **: 15:11:29.945: Your application did not unregister from D-Bus before destruction. Consider using g_application_run().
(qxplayer:7022): GLib-GObject-WARNING **: 15:11:29.969: instance with invalid (NULL) class pointer
(qxplayer:7022): GLib-GObject-CRITICAL **: 15:11:29.969: g_signal_handler_disconnect: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(qxplayer:7022): GLib-GObject-WARNING **: 15:11:29.969: instance with invalid (NULL) class pointer
(qxplayer:7022): GLib-GObject-CRITICAL **: 15:11:29.969: g_signal_handler_disconnect: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(qxplayer:7022): GLib-GObject-WARNING **: 15:11:29.969: instance with invalid (NULL) class pointer
(qxplayer:7022): GLib-GObject-CRITICAL **: 15:11:29.969: g_signal_handler_disconnect: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(qxplayer:7022): GLib-GObject-WARNING **: 15:11:29.969: instance with invalid (NULL) class pointer
(qxplayer:7022): GLib-GObject-CRITICAL **: 15:11:29.969: g_signal_handler_disconnect: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(qxplayer:7022): GLib-GObject-CRITICAL **: 15:11:29.969: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(qxplayer:7022): GLib-GObject-WARNING **: 15:11:29.970: instance with invalid (NULL) class pointer
(qxplayer:7022): GLib-GObject-CRITICAL **: 15:11:29.970: g_signal_emit_valist: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
What is the correct way to do it?
Thank you, guys.