diff --git a/src/fe-gtk/theme/theme-access.c b/src/fe-gtk/theme/theme-access.c index 0c713f8a..d04d9608 100644 --- a/src/fe-gtk/theme/theme-access.c +++ b/src/fe-gtk/theme/theme-access.c @@ -89,7 +89,7 @@ theme_access_get_gtk_palette_map (GtkWidget *widget, ThemeGtkPaletteMap *out_map GdkRGBA accent; g_return_val_if_fail (out_map != NULL, FALSE); - if (!theme_gtk3_is_active () || widget == NULL) + if (!theme_gtk3_is_active () || widget == NULL || !GTK_IS_WIDGET (widget)) return FALSE; context = gtk_widget_get_style_context (widget); @@ -208,7 +208,8 @@ theme_get_xtext_colors_for_widget (GtkWidget *widget, XTextColor *palette, size_ theme_get_widget_style_values_for_widget (widget, &style_values); theme_runtime_get_xtext_colors (palette, palette_len); has_user_colors = theme_runtime_mode_has_user_colors (theme_runtime_is_dark_active ()); - theme_access_apply_default_99_palette (palette, palette_len, !has_user_colors); + if (palette_len >= THEME_XTEXT_MIRC_COLS) + theme_access_apply_default_99_palette (palette, palette_len, !has_user_colors); if (palette_len > THEME_XTEXT_MARK_FG_INDEX) { palette[THEME_XTEXT_MARK_FG_INDEX].red = style_values.selection_foreground.red; diff --git a/src/fe-gtk/theme/theme-css.c b/src/fe-gtk/theme/theme-css.c index a294943c..bf6d98c9 100644 --- a/src/fe-gtk/theme/theme-css.c +++ b/src/fe-gtk/theme/theme-css.c @@ -93,7 +93,7 @@ theme_css_apply_widget_provider (GtkWidget *widget, GtkStyleProvider *provider) { GtkStyleContext *context; - if (!widget || !provider) + if (!widget || !provider || !GTK_IS_WIDGET (widget)) return; context = gtk_widget_get_style_context (widget); @@ -276,7 +276,7 @@ theme_css_apply_palette_widget (GtkWidget *widget, const GdkRGBA *bg, const GdkR gchar *sel_bg_color = NULL; gchar *sel_fg_color = NULL; - if (!widget) + if (!widget || !GTK_IS_WIDGET (widget)) return; provider = g_object_get_data (G_OBJECT (widget), theme_css_palette_provider_key);