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:
parent
6ddbe8c701
commit
b54fa15ffb
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user