Fix Atoms and Lisp_Object mixup and related bugs.
authorJan D <jan.h.d@swipnet.se>
Sat, 13 Nov 2010 18:59:28 +0000 (19:59 +0100)
committerJan D <jan.h.d@swipnet.se>
Sat, 13 Nov 2010 18:59:28 +0000 (19:59 +0100)
* src/xselect.c (x_send_client_event): Move CHECK_STRING ...
(Fx_send_client_event): to here.

* src/xterm.c (set_wm_state): Don't put Atom in cons, call
make_fixnum_or_float on them first.
(x_term_init): Initialize Xatom_net_supporting_wm_check and
Xatom_net_supported correctly.

src/ChangeLog
src/xselect.c
src/xterm.c

index b821d17..6626611 100644 (file)
@@ -1,3 +1,13 @@
+2010-11-13  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * xterm.c (set_wm_state): Don't put Atom in cons, call
+       make_fixnum_or_float on them first.
+       (x_term_init): Initialize Xatom_net_supporting_wm_check and
+       Xatom_net_supported correctly.
+
+       * xselect.c (x_send_client_event): Move CHECK_STRING ...
+       (Fx_send_client_event): to here.
+
 2010-11-13  Martin Rudalics  <rudalics@gmx.at>
 
        * window.c (Fwindow_use_time): New function.
index b566b90..ea64d9c 100644 (file)
@@ -2528,8 +2528,11 @@ are ignored.  */)
 {
   struct x_display_info *dpyinfo = check_x_display_info (display);
 
+  CHECK_STRING (message_type);
   x_send_client_event(display, dest, from,
-                      XInternAtom (dpyinfo->display, SDATA (message_type), False),
+                      XInternAtom (dpyinfo->display,
+                                   SDATA (message_type),
+                                   False),
                       format, values);
 
   return Qnil;
@@ -2546,7 +2549,6 @@ x_send_client_event (Lisp_Object display, Lisp_Object dest, Lisp_Object from, At
   struct frame *f = check_x_frame (from);
   int to_root;
 
-  CHECK_STRING (message_type);
   CHECK_NUMBER (format);
   CHECK_CONS (values);
 
index f8b7b2a..277c32d 100644 (file)
@@ -8380,8 +8380,9 @@ set_wm_state (Lisp_Object frame, int add, Atom atom, Atom value)
                        Fcons
                        (make_number (add ? 1 : 0),
                         Fcons
-                        (atom,
-                         value != 0 ? value : Qnil)));
+                        (make_fixnum_or_float (atom),
+                         value != 0
+                         ? make_fixnum_or_float (value) : Qnil)));
 }
 
 void
@@ -10247,7 +10248,7 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
       { "_NET_WM_ICON_NAME", &dpyinfo->Xatom_net_wm_icon_name },
       { "_NET_WM_NAME", &dpyinfo->Xatom_net_wm_name },
       { "_NET_SUPPORTED",  &dpyinfo->Xatom_net_supported },
-      { "_NET_SUPPORTING_WM_CHECK", &dpyinfo->Xatom_net_supported },
+      { "_NET_SUPPORTING_WM_CHECK", &dpyinfo->Xatom_net_supporting_wm_check },
       { "_NET_WM_WINDOW_OPACITY", &dpyinfo->Xatom_net_wm_window_opacity },
       { "_NET_ACTIVE_WINDOW", &dpyinfo->Xatom_net_active_window },
       { "_NET_FRAME_EXTENTS", &dpyinfo->Xatom_net_frame_extents },