comparison src/gui-msw.c @ 404:2f8bb876ab1d r21-2-32

Import from CVS: tag r21-2-32
author cvs
date Mon, 13 Aug 2007 11:16:07 +0200
parents a86b2b5e0111
children b8cc9ab3f761
comparison
equal deleted inserted replaced
403:9f011ab08d48 404:2f8bb876ab1d
34 * or Qnil if id has not been mapped to a callback. 34 * or Qnil if id has not been mapped to a callback.
35 * Window procedure may try other targets to route the 35 * Window procedure may try other targets to route the
36 * command if we return nil 36 * command if we return nil
37 */ 37 */
38 Lisp_Object 38 Lisp_Object
39 mswindows_handle_gui_wm_command (struct frame* f, HWND ctrl, DWORD id) 39 mswindows_handle_gui_wm_command (struct frame* f, HWND ctrl, LPARAM id)
40 { 40 {
41 /* Try to map the command id through the proper hash table */ 41 /* Try to map the command id through the proper hash table */
42 Lisp_Object data, fn, arg, frame; 42 Lisp_Object data, fn, arg, frame;
43 43
44 /* #### make_int should assert that --kkm */ 44 /* #### make_int should assert that --kkm */
48 FRAME_MSWINDOWS_WIDGET_HASH_TABLE (f), Qnil); 48 FRAME_MSWINDOWS_WIDGET_HASH_TABLE (f), Qnil);
49 49
50 if (NILP (data) || UNBOUNDP (data)) 50 if (NILP (data) || UNBOUNDP (data))
51 return Qnil; 51 return Qnil;
52 52
53 MARK_SUBWINDOWS_STATE_CHANGED;
54 /* Ok, this is our one. Enqueue it. */ 53 /* Ok, this is our one. Enqueue it. */
55 get_gui_callback (data, &fn, &arg); 54 get_gui_callback (data, &fn, &arg);
56 XSETFRAME (frame, f); 55 XSETFRAME (frame, f);
57 mswindows_enqueue_misc_user_event (frame, fn, arg); 56 mswindows_enqueue_misc_user_event (frame, fn, arg);
57 /* The result of this evaluation could cause other instances to change so
58 enqueue an update callback to check this. */
59 mswindows_enqueue_misc_user_event (frame, Qeval,
60 list2 (Qupdate_widget_instances, frame));
58 61
59 return Qt; 62 return Qt;
60 } 63 }
61 64
62 DEFUN ("mswindows-shell-execute", Fmswindows_shell_execute, 2, 4, 0, /* 65 DEFUN ("mswindows-shell-execute", Fmswindows_shell_execute, 2, 4, 0, /*
135 XINT (show_flag) : SW_SHOWDEFAULT)); 138 XINT (show_flag) : SW_SHOWDEFAULT));
136 139
137 if (ret > 32) 140 if (ret > 32)
138 return Qt; 141 return Qt;
139 142
140 if (ret == ERROR_FILE_NOT_FOUND || ret == SE_ERR_FNF) 143 if (ret == ERROR_FILE_NOT_FOUND)
141 signal_simple_error ("file not found", document); 144 signal_simple_error ("file not found", document);
142 else if (ret == ERROR_PATH_NOT_FOUND || ret == SE_ERR_PNF) 145 else if (ret == ERROR_PATH_NOT_FOUND)
143 signal_simple_error ("path not found", current_dir); 146 signal_simple_error ("path not found", current_dir);
144 else if (ret == ERROR_BAD_FORMAT) 147 else if (ret == ERROR_BAD_FORMAT)
145 signal_simple_error ("bad executable format", document); 148 signal_simple_error ("bad executable format", document);
146 else 149 else
147 error ("internal error"); 150 error ("internal error");