Ver código fonte

LibGUI: Redraw widgets when default font changes

LuK1337 4 anos atrás
pai
commit
8992271c5c

+ 7 - 2
Userland/Libraries/LibGUI/Widget.cpp

@@ -562,6 +562,8 @@ void Widget::theme_change_event(ThemeChangeEvent&)
 
 
 void Widget::fonts_change_event(FontsChangeEvent&)
 void Widget::fonts_change_event(FontsChangeEvent&)
 {
 {
+    if (m_default_font)
+        set_font(nullptr);
 }
 }
 
 
 void Widget::screen_rects_change_event(ScreenRectsChangeEvent&)
 void Widget::screen_rects_change_event(ScreenRectsChangeEvent&)
@@ -705,10 +707,13 @@ void Widget::set_font(const Gfx::Font* font)
     if (m_font.ptr() == font)
     if (m_font.ptr() == font)
         return;
         return;
 
 
-    if (!font)
+    if (!font) {
         m_font = Gfx::FontDatabase::default_font();
         m_font = Gfx::FontDatabase::default_font();
-    else
+        m_default_font = true;
+    } else {
         m_font = *font;
         m_font = *font;
+        m_default_font = false;
+    }
 
 
     did_change_font();
     did_change_font();
     update();
     update();

+ 1 - 0
Userland/Libraries/LibGUI/Widget.h

@@ -361,6 +361,7 @@ private:
     bool m_updates_enabled { true };
     bool m_updates_enabled { true };
     bool m_accepts_emoji_input { false };
     bool m_accepts_emoji_input { false };
     bool m_shrink_to_fit { false };
     bool m_shrink_to_fit { false };
+    bool m_default_font { true };
 
 
     NonnullRefPtr<Gfx::PaletteImpl> m_palette;
     NonnullRefPtr<Gfx::PaletteImpl> m_palette;