Commit c9f370a1 authored by Paolo Borelli's avatar Paolo Borelli

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).
parent 2cbc2972
......@@ -1569,6 +1569,8 @@ add_format (GArray *fmts,
_gdk_dnd_init (void)
use_ole2_dnd = TRUE;
......@@ -1615,6 +1617,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");
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment