mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-13 14:00:09 +00:00
Windows: Update code for monolithic GTK DLL
Now that the autotools build folded the GDK/GSK bits into the main GTK+
DLL, there are some updates that need to be done for this. We need to:
-Fold the DllMain() of GDK-Win32 into the main GTK+ DllMain(), as we need
the HINSTANCE to register the window. We can't have two DllMain()'s in a
single DLL.
-Remove the GDK rc(.in) files, as that is not used anymore. Make the GTK+
.rc(.in) file load the gtk.ico GTK+ logo file instead so that we still
get the GTK+ logo for the application icon by default. Update the
autotools build files as well.
-Revert commit b9f9980
as LRN pointed out in comment 25 in bug 773299, as
GTK+ is now a monolithic DLL, and we ought not to export this private
function.
https://bugzilla.gnome.org/show_bug.cgi?id=773299
This commit is contained in:
parent
2324b96a32
commit
abef8d4860
@ -203,8 +203,6 @@ endif # USE_QUARTZ
|
||||
|
||||
if USE_WIN32
|
||||
libgdk_4_la_LIBADD += win32/libgdk-win32.la
|
||||
libgdk_4_la_DEPENDENCIES = win32/libgdk-win32.la win32/rc/gdk-win32-res.o
|
||||
libgdk_4_la_LDFLAGS += -Wl,win32/rc/gdk-win32-res.o
|
||||
endif # USE_WIN32
|
||||
|
||||
if USE_BROADWAY
|
||||
|
@ -63,16 +63,6 @@ const GOptionEntry _gdk_windowing_args[] = {
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
BOOL WINAPI
|
||||
DllMain (HINSTANCE hinstDLL,
|
||||
DWORD dwReason,
|
||||
LPVOID reserved)
|
||||
{
|
||||
_gdk_dll_hinstance = hinstDLL;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_win32_windowing_init (void)
|
||||
{
|
||||
|
@ -1,15 +1,5 @@
|
||||
include $(top_srcdir)/Makefile.decl
|
||||
|
||||
EXTRA_DIST += \
|
||||
gdk.rc \
|
||||
gdk.rc.in \
|
||||
gtk.ico
|
||||
|
||||
if USE_WIN32
|
||||
noinst_DATA = gdk-win32-res.o
|
||||
endif
|
||||
|
||||
gdk-win32-res.o : gdk.rc gtk.ico
|
||||
$(WINDRES) -I $(srcdir) gdk.rc $@
|
||||
EXTRA_DIST += gtk.ico
|
||||
|
||||
-include $(top_srcdir)/git.mk
|
||||
|
@ -1,32 +0,0 @@
|
||||
#include <winver.h>
|
||||
|
||||
GTK_ICON ICON "gtk.ico"
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION @GTK_MAJOR_VERSION@,@GTK_MINOR_VERSION@,@GTK_MICRO_VERSION@,0
|
||||
PRODUCTVERSION @GTK_MAJOR_VERSION@,@GTK_MINOR_VERSION@,@GTK_MICRO_VERSION@,0
|
||||
FILEFLAGSMASK 0
|
||||
FILEFLAGS 0
|
||||
FILEOS VOS__WINDOWS32
|
||||
FILETYPE VFT_DLL
|
||||
FILESUBTYPE VFT2_UNKNOWN
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904B0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "The GTK developer community"
|
||||
VALUE "FileDescription", "GIMP Drawing Kit"
|
||||
VALUE "FileVersion", "@GTK_VERSION@.0"
|
||||
VALUE "InternalName", "libgdk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@"
|
||||
VALUE "LegalCopyright", "Copyright © 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald. Modified by the GTK+ Team and others 1997-2011."
|
||||
VALUE "OriginalFilename", "libgdk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@.dll"
|
||||
VALUE "ProductName", "GTK+"
|
||||
VALUE "ProductVersion", "@GTK_VERSION@"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
@ -77,7 +77,6 @@ GskRenderNode *gsk_render_node_new (void);
|
||||
|
||||
void gsk_render_node_make_immutable (GskRenderNode *node);
|
||||
|
||||
_GDK_EXTERN
|
||||
void gsk_render_node_get_bounds (GskRenderNode *node,
|
||||
graphene_rect_t *frame);
|
||||
void gsk_render_node_get_transform (GskRenderNode *node,
|
||||
|
@ -41,8 +41,8 @@ gtk_win32_symbols = -export-symbols $(srcdir)/gtk.def
|
||||
gtk_win32_res = gtk-win32-res.o
|
||||
gtk_win32_res_ldflag = -Wl,gtk-win32-res.o
|
||||
|
||||
gtk-win32-res.o : gtk-win32.rc libgtk4.manifest
|
||||
$(WINDRES) gtk-win32.rc $@
|
||||
gtk-win32-res.o : $(top_srcdir)/gdk/win32/rc/gtk.ico gtk-win32.rc libgtk4.manifest
|
||||
$(WINDRES) -I $(top_srcdir)/gdk/win32/rc gtk-win32.rc $@
|
||||
|
||||
gtk-win32.rc: gtk-win32.rc.body
|
||||
echo "#include <winuser.h>" >>$@
|
||||
|
@ -1,5 +1,7 @@
|
||||
#include <winver.h>
|
||||
|
||||
GTK_ICON ICON "gtk.ico"
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION @GTK_MAJOR_VERSION@,@GTK_MINOR_VERSION@,@GTK_MICRO_VERSION@,0
|
||||
PRODUCTVERSION @GTK_MAJOR_VERSION@,@GTK_MINOR_VERSION@,@GTK_MICRO_VERSION@,0
|
||||
|
@ -39,7 +39,8 @@
|
||||
#define EMPIRIC_MANIFEST_RESOURCE_INDEX 2
|
||||
|
||||
|
||||
static HMODULE gtk_dll;
|
||||
static HMODULE gtk_dll;
|
||||
extern HINSTANCE _gdk_dll_hinstance;
|
||||
|
||||
BOOL WINAPI
|
||||
DllMain (HINSTANCE hinstDLL,
|
||||
@ -50,6 +51,7 @@ DllMain (HINSTANCE hinstDLL,
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
gtk_dll = (HMODULE) hinstDLL;
|
||||
_gdk_dll_hinstance = hinstDLL;
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user