]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Fix invisible initial ROM scan window
authorToni Wilen <twilen@winuae.net>
Sat, 15 Apr 2023 18:07:34 +0000 (21:07 +0300)
committerToni Wilen <twilen@winuae.net>
Sat, 15 Apr 2023 18:07:34 +0000 (21:07 +0300)
od-win32/win32.cpp
od-win32/win32.h
od-win32/win32gui.cpp
od-win32/win32gui_extra.cpp

index ce7d7dd6db16668d36610d9147620fc7c7fe8d0a..79ad3eea574b5f811f03d9a530189b1a84525219 100644 (file)
@@ -5116,7 +5116,7 @@ static void romlist_add2 (const TCHAR *path, struct romdata *rd)
 }
 
 extern int scan_roms (HWND, int);
-void read_rom_list (void)
+void read_rom_list(bool initial)
 {
        TCHAR tmp2[1000];
        int idx, idx2;
@@ -5130,6 +5130,9 @@ void read_rom_list (void)
        if (fkey == NULL)
                return;
        if (!exists || forceroms) {
+               if (initial) {
+                       scaleresource_init(NULL, 0);
+               }
                load_keyring (NULL, NULL);
                scan_roms (NULL, forceroms ? 0 : 1);
        }
@@ -5750,7 +5753,7 @@ static void WIN32_HandleRegistryStuff (void)
        regclosetree (read_disk_history (HISTORY_FLOPPY));
        regclosetree (read_disk_history (HISTORY_CD));
        associate_init_extensions ();
-       read_rom_list ();
+       read_rom_list(true);
        load_keyring (NULL, NULL);
        target_load_debugger_config();
 }
index 7cebecce9ea8b88c5d9eb701ab4e476498c9fa7f..e2259957892209a00a2b48f6278ca762f58739c7 100644 (file)
@@ -149,7 +149,7 @@ void exit_gui (int);
 void fetch_path (const TCHAR *name, TCHAR *out, int size);
 void set_path (const TCHAR *name, TCHAR *path);
 void set_path (const TCHAR *name, TCHAR *path, pathtype);
-void read_rom_list (void);
+void read_rom_list(bool);
 void associate_file_extensions (void);
 
 #define WIN32_PLUGINDIR _T("plugins\\")
index b75a68f275f010f916a67a2b45615bc567fa70dc..87d419f4a8a22ed48a49a375676ebb03e3a810fc 100644 (file)
@@ -1759,22 +1759,6 @@ static INT_PTR CALLBACK InfoBoxDialogProc (HWND hDlg, UINT msg, WPARAM wParam, L
                DestroyWindow (hDlg);
                infoboxdialogstate = false;
        return TRUE;
-       case WM_INITDIALOG:
-       {
-               HWND owner = GetParent (hDlg);
-               if (!owner) {
-                       owner = GetDesktopWindow ();
-                       RECT ownerrc, merc;
-                       GetWindowRect (owner, &ownerrc);
-                       GetWindowRect (hDlg, &merc);
-                       SetWindowPos (hDlg, NULL,
-                               ownerrc.left + ((ownerrc.right - ownerrc.left) - (merc.right - merc.left)) /2,
-                               ownerrc.top + ((ownerrc.bottom - ownerrc.top) - (merc.bottom - merc.top)) / 2,
-                               0, 0,
-                               SWP_NOSIZE);
-               }
-               return TRUE;
-       }
        case WM_COMMAND:
                switch (LOWORD (wParam))
                {
@@ -2116,7 +2100,7 @@ end:
                        DispatchMessage (&msg);
                }
        }
-       read_rom_list ();
+       read_rom_list(false);
        if (show)
                show_rom_list ();
 
@@ -22986,7 +22970,7 @@ int gui_init (void)
 {
        int ret;
 
-       read_rom_list();
+       read_rom_list(false);
        prefs_to_gui(&changed_prefs);
        inputdevice_updateconfig(NULL, &workprefs);
        for (;;) {
index da4063cc4590e6980211536b8dbd174932984dee..122df259b758ad043b14a1025daaa6f7283b3768 100644 (file)
@@ -611,7 +611,7 @@ static HWND DIALOG_CreateIndirect(HINSTANCE hInst, LPCVOID dlgTemplate,
        size.cx = rect.right - rect.left;
        size.cy = rect.bottom - rect.top;
 
-       if (!res->parent) {
+       if (!res->parent && res->width > 0 && res->height > 0) {
                size.cx = res->width;
                size.cy = res->height;
        }
@@ -1203,8 +1203,10 @@ void scaleresource_init(const TCHAR *prefix, int fullscreen)
 
        setdeffont();
 
-       regqueryfont (NULL, fontprefix, fontreg[0], fontname_gui, &fontsize_gui, &fontstyle_gui, &fontweight_gui);
-       regqueryfont (NULL, fontprefix, fontreg[1], fontname_list, &fontsize_list, &fontstyle_list, &fontweight_list);
+       if (fontprefix) {
+               regqueryfont (NULL, fontprefix, fontreg[0], fontname_gui, &fontsize_gui, &fontstyle_gui, &fontweight_gui);
+               regqueryfont (NULL, fontprefix, fontreg[1], fontname_list, &fontsize_list, &fontstyle_list, &fontweight_list);
+       }
 
        //write_log (_T("GUI font %s:%d:%d:%d\n"), fontname_gui, fontsize_gui, fontstyle_gui, fontweight_gui);
        //write_log (_T("List font %s:%d:%d:%d\n"), fontname_list, fontsize_list, fontstyle_list, fontweight_list);