* src/pdumper.c (dump_mm_heap_cb_release): Avoid NULL pointer
dereference.
* src/w32dwrite.c (INITGUID) [CYGWIN]: Don't define for Cygwin.
* src/w32menu.c (w32_popup_dialog): Fix Cygw32 build. (Bug#74312)
(cherry picked from commit
b54fa15ffbb959e97ea0b77bfeb9ae412a63b4e8)
static void
dump_mm_heap_cb_release (struct dump_memory_map_heap_control_block *cb)
{
- eassert (cb->refcount > 0);
- if (--cb->refcount == 0)
+ if (cb)
{
- free (cb->mem);
- free (cb);
+ eassert (cb->refcount > 0);
+ if (--cb->refcount == 0)
+ {
+ free (cb->mem);
+ free (cb);
+ }
}
}
#include <math.h>
#include <windows.h>
-#ifndef MINGW_W64
+#if !defined MINGW_W64 && !defined CYGWIN
# define INITGUID
#endif
#include <initguid.h>
if (dwrite_font_face == NULL)
return FONT_INVALID_CODE;
hr = dwrite_font_face->lpVtbl->GetGlyphIndices (dwrite_font_face,
- &c, 1, &index);
+ (UINT32 *) &c, 1, &index);
if (verify_hr (hr, "Failed to GetGlyphIndices"))
{
if (index == 0)
Lisp_Object
w32_popup_dialog (struct frame *f, Lisp_Object header, Lisp_Object contents)
{
+#ifdef NTGUI_UNICODE
+ typedef int (WINAPI *WideCharToMultiByte_Proc)(UINT,DWORD,LPCWSTR,int,LPSTR,
+ int,LPCSTR,LPBOOL);
+ static MultiByteToWideChar_Proc pMultiByteToWideChar = MultiByteToWideChar;
+#endif /* NTGUI_UNICODE */
check_window_system (f);
if (task_dialog_indirect)