mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-28 22:41:43 +00:00
Win32: move CoInitialize to dnd init
Functions requiring CoInitialize are called just in two places: - the filechooser thread which calls its own CoInitializeEx - the dnd code Moving CoInitialize in the dnd specific init is cleaner and we can pair it with the corresponding CoUninitialize since CoUninitialize should be called as many times as CoInitialize. Note that it is ok to call this function multiple times, so it will not break if another codepath will need it in the future. The patch also replaces the deprecated CoInitialize with the equivalent call to CoInitializeEx (already used in the filechooser).
This commit is contained in:
parent
f6b0067718
commit
2e5616b27e
@ -1571,6 +1571,8 @@ add_format (GArray *fmts,
|
||||
void
|
||||
_gdk_dnd_init (void)
|
||||
{
|
||||
CoInitializeEx (NULL, COINIT_APARTMENTTHREADED);
|
||||
|
||||
if (getenv ("GDK_WIN32_USE_EXPERIMENTAL_OLE2_DND"))
|
||||
use_ole2_dnd = TRUE;
|
||||
|
||||
@ -1617,6 +1619,8 @@ _gdk_win32_dnd_exit (void)
|
||||
{
|
||||
OleUninitialize ();
|
||||
}
|
||||
|
||||
CoUninitialize ();
|
||||
}
|
||||
|
||||
/* Source side */
|
||||
|
@ -97,8 +97,6 @@ _gdk_win32_windowing_init (void)
|
||||
GDK_NOTE (EVENTS, g_print ("input_locale:%p, codepage:%d\n",
|
||||
_gdk_input_locale, _gdk_input_codepage));
|
||||
|
||||
CoInitialize (NULL);
|
||||
|
||||
_gdk_selection = gdk_atom_intern_static_string ("GDK_SELECTION");
|
||||
_wm_transient_for = gdk_atom_intern_static_string ("WM_TRANSIENT_FOR");
|
||||
_targets = gdk_atom_intern_static_string ("TARGETS");
|
||||
|
Loading…
Reference in New Issue
Block a user