]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid crashes when w32 GUI functions are called in -batch
authorEli Zaretskii <eliz@gnu.org>
Sat, 25 Jul 2015 16:33:51 +0000 (19:33 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 25 Jul 2015 16:33:51 +0000 (19:33 +0300)
* src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
(Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
FRAME_W32_WINDOW for initial frame.  (Bug#21132)

src/w32fns.c

index 8f9c56c5420f34df9b61acc0ef389fa41d398844..bf81078d0106075399f09ef8663493d4f4e6024d 100644 (file)
@@ -6935,7 +6935,8 @@ If optional parameter FRAME is not specified, use selected frame.  */)
 
   CHECK_NUMBER (command);
 
-  PostMessage (FRAME_W32_WINDOW (f), WM_SYSCOMMAND, XINT (command), 0);
+  if (FRAME_W32_P (f))
+    PostMessage (FRAME_W32_WINDOW (f), WM_SYSCOMMAND, XINT (command), 0);
 
   return Qnil;
 }
@@ -7522,6 +7523,9 @@ If FRAME is omitted or nil, the selected frame is used.  */)
   MENUBARINFO menu_bar;
   int width, height, single_height, wrapped_height;
 
+  if (FRAME_INITIAL_P (f))
+    return Qnil;
+
   block_input ();
 
   single_height = GetSystemMetrics (SM_CYMENU);
@@ -7553,6 +7557,9 @@ title bar and decorations.  */)
   struct frame *f = decode_live_frame (frame);
   RECT rect;
 
+  if (FRAME_INITIAL_P (f))
+    return Qnil;
+
   block_input ();
 
   if (!NILP (client))
@@ -7610,6 +7617,9 @@ elements (all size values are in pixels).
   int single_bar_height, wrapped_bar_height, menu_bar_height;
   Lisp_Object fullscreen = Fframe_parameter (frame, Qfullscreen);
 
+  if (FRAME_INITIAL_P (f))
+    return Qnil;
+
   block_input ();
 
   /* Outer frame rectangle, including outer borders and title bar. */