I want to avoid turning the :focusable property into a tristate at all
costs, but that third state is what we had before the property.
{
g_object_ref_sink (child);
self->child = child;
+
+ /* Workaround that hopefully achieves good enough backwards
+ * compatibility with people using expanders.
+ */
+ if (!self->focusable_set)
+ gtk_list_item_set_focusable (self, !gtk_widget_get_focusable (child));
}
if (self->owner)
{
g_return_if_fail (GTK_IS_LIST_ITEM (self));
+ self->focusable_set = TRUE;
+
if (self->focusable == focusable)
return;
#include "gtklistitem.h"
#include "gtklistitemwidgetprivate.h"
+#include "gtkversion.h"
G_BEGIN_DECLS
guint activatable : 1;
guint selectable : 1;
guint focusable : 1;
+#if !GTK_CHECK_VERSION (5, 0, 0)
+ guint focusable_set : 1;
+#endif
};
GtkListItem * gtk_list_item_new (void);