tFix crash when trying to set dialog box texture - vaccinewars - be a doctor an… | |
git clone git://src.adamsgaard.dk/vaccinewars | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit f6e1f6dab594b9695e0e220c8b20ad9184019283 | |
parent 5e1b6dffc76d08b7c479d420b46a66711538632d | |
Author: Ben Webb <[email protected]> | |
Date: Wed, 11 Nov 2020 18:45:47 -0800 | |
Fix crash when trying to set dialog box texture | |
Diffstat: | |
M configure.ac | 2 +- | |
M src/gtkport/gtkport.c | 31 +++--------------------------… | |
2 files changed, 4 insertions(+), 29 deletions(-) | |
--- | |
diff --git a/configure.ac b/configure.ac | |
t@@ -113,7 +113,7 @@ if test "$CYGWIN" = "yes" ; then | |
dnl Libraries and flags | |
CFLAGS="$CFLAGS -mwindows $mscompat $nocyg" | |
CPPFLAGS="$CPPFLAGS $nocyg" | |
- LIBS="$LIBS -lwsock32 -lcomctl32 -lmpr" | |
+ LIBS="$LIBS -lwsock32 -lcomctl32 -luxtheme -lmpr" | |
LDFLAGS="$LDFLAGS $nocyg" | |
AM_PATH_GLIB_2_0(2.0.0, , [AC_MSG_ERROR(GLib is required)]) | |
diff --git a/src/gtkport/gtkport.c b/src/gtkport/gtkport.c | |
t@@ -58,6 +58,7 @@ const gchar *GTK_STOCK_HELP = N_("_Help"); | |
#include <windows.h> | |
#include <commctrl.h> | |
#include <richedit.h> | |
+#include <uxtheme.h> | |
#include <shlwapi.h> | |
#define LISTITEMVPACK 0 | |
t@@ -78,8 +79,6 @@ static const gchar *WC_GTKHPANED = "WC_GTKHPANED"; | |
static const gchar *WC_GTKDIALOG = "WC_GTKDIALOG"; | |
static const gchar *WC_GTKURL = "WC_GTKURL"; | |
-static const int ETDT_ENABLETAB = 0x6; | |
- | |
static void gtk_button_size_request(GtkWidget *widget, | |
GtkRequisition *requisition); | |
static void gtk_entry_size_request(GtkWidget *widget, | |
t@@ -1204,30 +1203,6 @@ static gboolean CheckForXPControls(void) | |
return retval; | |
} | |
-/* | |
- * On systems with suitable DLLs, sets the background texture of the | |
- * given dialog. dwFlags can be one or more of the ETDT_ constants. | |
- */ | |
-static void myEnableThemeDialogTexture(HWND hWnd, DWORD dwFlags) | |
-{ | |
- typedef HRESULT (*ENABLETHEMEDIALOGTEXTUREPROC)(HWND hWnd, DWORD dwFlags); | |
- HINSTANCE module; | |
- | |
- /* Dialog textures are only worth setting when using XP common controls */ | |
- if (!HaveXPControls) return; | |
- | |
- module = LoadLibrary("UXTHEME.DLL"); | |
- if (module) { | |
- ENABLETHEMEDIALOGTEXTUREPROC func; | |
- func = (ENABLETHEMEDIALOGTEXTUREPROC) | |
- GetProcAddress(module, "EnableThemeDialogTexture"); | |
- if (func) { | |
- func(hWnd, dwFlags); | |
- } | |
- FreeLibrary(module); | |
- } | |
-} | |
- | |
void win32_init(HINSTANCE hInstance, HINSTANCE hPrevInstance, | |
char *MainIcon) | |
{ | |
t@@ -4168,7 +4143,7 @@ void gtk_notebook_insert_page(GtkNotebook *notebook, Gtk… | |
note_child->tabpage = myCreateDialog(hInst, "tabpage", | |
gtk_get_parent_hwnd(widget->parent), | |
MainDlgProc); | |
- myEnableThemeDialogTexture(note_child->tabpage, ETDT_ENABLETAB); | |
+ EnableThemeDialogTexture(note_child->tabpage, ETDT_ENABLETAB); | |
notebook->children = | |
g_slist_insert(notebook->children, note_child, position); | |
child->parent = GTK_WIDGET(notebook); | |
t@@ -4240,7 +4215,7 @@ void gtk_notebook_realize(GtkWidget *widget) | |
note_child->tabpage = myCreateDialog(hInst, "tabpage", | |
gtk_get_parent_hwnd(widget->parent), | |
MainDlgProc); | |
- myEnableThemeDialogTexture(note_child->tabpage, ETDT_ENABLETAB); | |
+ EnableThemeDialogTexture(note_child->tabpage, ETDT_ENABLETAB); | |
if (note_child->child) { | |
gtk_widget_realize(note_child->child); | |
} |