From 1b7dc84132b60ac08a062f618f4a3b075a250104 Mon Sep 17 00:00:00 2001
From: N00byKing <N00byKing@hotmail.de>
Date: Fri, 30 Mar 2018 17:38:34 +0200
Subject: [PATCH] Port citra-emu/citra#3610 to yuzu

---
 src/yuzu/main.cpp | 7 ++++---
 src/yuzu/main.h   | 3 +++
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 53ac1fd6a8..265502c2ad 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -78,6 +78,9 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) {
     ui.setupUi(this);
     statusBar()->hide();
 
+    default_theme_paths = QIcon::themeSearchPaths();
+    UpdateUITheme();
+
     InitializeWidgets();
     InitializeDebugWidgets();
     InitializeRecentFileMenuActions();
@@ -95,9 +98,6 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) {
 
     game_list->PopulateAsync(UISettings::values.gamedir, UISettings::values.gamedir_deepscan);
 
-    default_theme_paths = QIcon::themeSearchPaths();
-    UpdateUITheme();
-
     // Show one-time "callout" messages to the user
     ShowCallouts();
 
@@ -860,6 +860,7 @@ void GMainWindow::UpdateUITheme() {
         QIcon::setThemeName(":/icons/default");
     }
     QIcon::setThemeSearchPaths(theme_paths);
+    emit UpdateThemedIcons();
 }
 
 #ifdef main
diff --git a/src/yuzu/main.h b/src/yuzu/main.h
index 2920219389..20ff65314b 100644
--- a/src/yuzu/main.h
+++ b/src/yuzu/main.h
@@ -64,6 +64,9 @@ signals:
      */
     void EmulationStopping();
 
+    // Signal that tells widgets to update icons to use the current theme
+    void UpdateThemedIcons();
+
 private:
     void InitializeWidgets();
     void InitializeDebugWidgets();