1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-23 07:19:15 +00:00

Fix Cygw32 build

* 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)
This commit is contained in:
Eli Zaretskii 2024-11-12 14:41:01 +02:00
parent 6ddbe8c701
commit b54fa15ffb
3 changed files with 14 additions and 6 deletions

View File

@ -4853,11 +4853,14 @@ struct dump_memory_map_heap_control_block
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);
}
}
}

View File

@ -37,7 +37,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include <math.h>
#include <windows.h>
#ifndef MINGW_W64
#if !defined MINGW_W64 && !defined CYGWIN
# define INITGUID
#endif
#include <initguid.h>
@ -659,7 +659,7 @@ w32_dwrite_encode_char (struct font *font, int c)
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)

View File

@ -186,6 +186,11 @@ task_dialog_callback (HWND hwnd, UINT msg, WPARAM wParam,
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)