{
guint flags_to_set;
guint flags_to_unset;
+
+ gint old_scale_factor;
};
/* --- prototypes --- */
{
GtkStateData data;
+ data.old_scale_factor = gtk_widget_get_scale_factor (widget);
data.flags_to_set = flags_to_set;
data.flags_to_unset = flags_to_unset;
{
GtkStateData data;
+ data.old_scale_factor = gtk_widget_get_scale_factor (widget);
+
if (sensitive)
{
data.flags_to_set = 0;
return;
}
+ data.old_scale_factor = gtk_widget_get_scale_factor (widget);
+
/* keep this function in sync with gtk_menu_attach_to_widget()
*/
GtkWidgetPrivate *priv = widget->priv;
GtkStateFlags new_flags, old_flags = priv->state_flags;
GtkStateType old_state;
+ gint new_scale_factor = gtk_widget_get_scale_factor (widget);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
old_state = gtk_widget_get_state (widget);
new_flags = priv->state_flags;
+ if (data->old_scale_factor != new_scale_factor)
+ _gtk_widget_scale_changed (widget);
+
if (old_flags != new_flags)
{
g_object_ref (widget);
GtkStateData child_data;
/* Make sure to only propagate the right states further */
+ child_data.old_scale_factor = new_scale_factor;
child_data.flags_to_set = data->flags_to_set & GTK_STATE_FLAGS_DO_PROPAGATE;
child_data.flags_to_unset = data->flags_to_unset & GTK_STATE_FLAGS_DO_PROPAGATE;