diff --git a/src/gtk/textctrl.cpp b/src/gtk/textctrl.cpp index b4321a2129..bfd0dcc329 100644 --- a/src/gtk/textctrl.cpp +++ b/src/gtk/textctrl.cpp @@ -1828,22 +1828,25 @@ void wxTextCtrl::DoApplyWidgetStyle(GtkRcStyle *style) const bool bg_ok = m_backgroundColour.IsOk(); if (fg_ok || bg_ok) { - GdkRGBA fg_orig, bg_orig; + GdkRGBA *fg_orig, *bg_orig; GtkStyleContext* context = gtk_widget_get_style_context(m_text); if (IsMultiLine()) { gtk_style_context_save(context); gtk_style_context_add_class(context, GTK_STYLE_CLASS_VIEW); } - gtk_style_context_get_color(context, selectedFocused, &fg_orig); - gtk_style_context_get_background_color(context, selectedFocused, &bg_orig); + gtk_style_context_get(context, selectedFocused, + "color", &fg_orig, "background-color", &bg_orig); if (IsMultiLine()) gtk_style_context_restore(context); if (fg_ok) - gtk_widget_override_color(m_text, selectedFocused, &fg_orig); + gtk_widget_override_color(m_text, selectedFocused, fg_orig); if (bg_ok) - gtk_widget_override_background_color(m_text, selectedFocused, &bg_orig); + gtk_widget_override_background_color(m_text, selectedFocused, bg_orig); + + gdk_rgba_free(fg_orig); + gdk_rgba_free(bg_orig); } #endif // __WXGTK3__ diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index d46bad9f27..ba5afaabc2 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -372,9 +372,10 @@ draw_border(GtkWidget* widget, GdkEventExpose* gdk_event, wxWindow* win) { #ifdef __WXGTK3__ GtkStyleContext* sc = gtk_widget_get_style_context(win->m_wxwindow); - GdkRGBA c; - gtk_style_context_get_border_color(sc, GTK_STATE_FLAG_NORMAL, &c); - gdk_cairo_set_source_rgba(cr, &c); + GdkRGBA* c; + gtk_style_context_get(sc, GTK_STATE_FLAG_NORMAL, "border-color", &c, NULL); + gdk_cairo_set_source_rgba(cr, c); + gdk_rgba_free(c); cairo_set_line_width(cr, 1); cairo_rectangle(cr, x + 0.5, y + 0.5, w - 1, h - 1); cairo_stroke(cr);