[vte] widget: Use the style context's state instead of the widget's state



commit 37a23b6439bf22f1e0d24f25dc91f58b1561cfee
Author: Timm Bäder <mail baedert org>
Date:   Sun Dec 6 19:49:39 2015 +0100

    widget: Use the style context's state instead of the widget's state
    
    https://bugzilla.gnome.org/show_bug.cgi?id=759054

 src/vte.cc    |   11 ++++++++---
 src/vtegtk.cc |    4 ++--
 2 files changed, 10 insertions(+), 5 deletions(-)
---
diff --git a/src/vte.cc b/src/vte.cc
index 183b7df..77e1616 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -4667,9 +4667,9 @@ VteTerminalPrivate::widget_style_updated()
 {
         vte_terminal_set_font(m_terminal, m_unscaled_font_desc);
 
+        auto context = gtk_widget_get_style_context(m_widget);
         GtkBorder new_padding;
-        gtk_style_context_get_padding(gtk_widget_get_style_context(m_widget),
-                                      gtk_widget_get_state_flags(m_widget),
+        gtk_style_context_get_padding(context, gtk_style_context_get_state(context),
                                       &new_padding);
         if (memcmp(&new_padding, &m_padding, sizeof(GtkBorder)) != 0) {
                 _vte_debug_print(VTE_DEBUG_MISC,
@@ -7706,9 +7706,14 @@ bool
 VteTerminalPrivate::set_font_desc(PangoFontDescription const* font_desc)
 {
        /* Create an owned font description. */
-        auto context = gtk_widget_get_style_context(m_widget);
         PangoFontDescription *desc;
+
+        auto context = gtk_widget_get_style_context(m_widget);
+        gtk_style_context_save(context);
+        gtk_style_context_set_state (context, GTK_STATE_FLAG_NORMAL);
         gtk_style_context_get(context, GTK_STATE_FLAG_NORMAL, "font", &desc, nullptr);
+        gtk_style_context_restore(context);
+
        pango_font_description_set_family_static (desc, "monospace");
        if (font_desc != nullptr) {
                pango_font_description_merge (desc, font_desc, TRUE);
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
index 3ab0e9e..073c308 100644
--- a/src/vtegtk.cc
+++ b/src/vtegtk.cc
@@ -3072,8 +3072,8 @@ vte_terminal_get_geometry_hints(VteTerminal *terminal,
 
         pvt = terminal->pvt;
 
-        gtk_style_context_get_padding(gtk_widget_get_style_context(widget),
-                                      gtk_widget_get_state_flags(widget),
+        auto context = gtk_widget_get_style_context(widget);
+        gtk_style_context_get_padding(context, gtk_style_context_get_state(context),
                                       &padding);
 
         hints->base_width  = padding.left + padding.right;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]