Avoid potential DLL hijacking risks by not calling LoadLibrary() to
load gdiplus.dll. As gdiplus.dll is a WinSxS (side-by-side) DLL we
couldn't use the full path anyway as we don't know it.
So just link to the GDI+ functions directly. Gdiplus.dll should be
present on all Windows versions we support anyway. Some complexity
added as MinGW doesn't come with an import library for gdiplus.dll, so
we have to create one ourselves. But we call relatively few functions
from gdiplus.dll so that is not a big deal.
Note that despite being a side-by-side DLL (or "assembly"),
gdiplus.dll is apparently a special case in that you don't need a
manifest to tell the OS which version of gdiplus.dll you
want. Weird.
TrackMouseEvent is present in user32.dll in all Windows versions we
support. No need to look it up dynamically. No need to fallback to
_TrackMouseEvent from comctrl32.dll.
When a file was inserted during the period that the editable row was
active, the node IDs would not get updated correctly.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
WM_KILLFOCUS means that a keyboard grab (not a pointer grab), if any,
has been broken. I don't think this bug has matterd much as gtk
generates a grab-broken-event signal for both keybord and pointer
grabs being broken anyway.
We now exit early from gdk_window_register_dnd() to avoid crashing if the
window type is GDK_WINDOW_OFFSCREEN and does not support dnd operations.
This makes it possible to use any dnd-enabled widgets, such as GtkEntry,
within a GtkOffscreenWindow.
* gtk/gtkrange.c: (gtk_range_adjustment_value_change):
Queue the draw also if the range is a scale and the value is drawn,
fixing bug #533946 (Markus Brinkmann), when two HScales use one
adjustment.
libstatic-pixbufloader-gdip-png.la should not be built or at least not
included in STATIC_GDIPLUS_LIBS as we don't want to use the GDI+-based
loader for PNG, because if we do, we can't get (or was it set?) the
options of a PNG pixbuf that for instance some code in GIMP wants to do.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=607839