Mercurial > hg > xemacs-beta
view src/gui-msw.c @ 564:001628b7a5b3
[xemacs-hg @ 2001-05-24 09:37:25 by yoshiki]
Fix broken build on Linux.
* buffer.c (Qtext_conversion_error): Moved from file-coding.c
so that --with-file-coding=no will compile corectly.
* buffer.c (syms_of_buffer): Define Qtext_conversion_error.
Also moved from file-coding.c
* file-coding.c (Qtext_conversion_error): Moved to buffer.c
* file-coding.c (syms_of_file_coding): Moved Qtext_conversion_error
initialization to buffer.c
* emodules.c (Qdll_error): New error.
* emodules.c (syms_of_module): Declare Qdll_error.
* esd.c (esd_play_sound_data): sound_warn accepts only one arg.
* miscplay.c (sndcnv8S_2mono):
* miscplay.c (sndcnv2monounsigned):
* miscplay.c (int2ulaw):
* miscplay.c (sndcnv2byteLE):
* miscplay.c (sndcnv2byteBE):
* miscplay.c (sndcnv2monobyteLE):
* miscplay.c (sndcnv2monobyteBE): Replace signed Char_Binary with
Char_Binary. There's no type called signed char in C.
Also remove audio: from error message. sound_warn and sound_perror
prepends them.
author | yoshiki |
---|---|
date | Thu, 24 May 2001 09:37:30 +0000 |
parents | abe6d1db359e |
children | 943eaba38521 |
line wrap: on
line source
/* mswindows GUI code. (menubars, scrollbars, toolbars, dialogs) Copyright (C) 1998 Andy Piper. This file is part of XEmacs. XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with XEmacs; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Synched up with: Not in FSF. */ #include <config.h> #include "lisp.h" #include "console-msw.h" #include "redisplay.h" #include "gui.h" #include "glyphs.h" #include "frame.h" #include "elhash.h" #include "events.h" #include "buffer.h" /* * Return value is Qt if we have dispatched the command, * or Qnil if id has not been mapped to a callback. * Window procedure may try other targets to route the * command if we return nil */ Lisp_Object mswindows_handle_gui_wm_command (struct frame* f, HWND ctrl, LPARAM id) { /* Try to map the command id through the proper hash table */ Lisp_Object callback, callback_ex, image_instance, frame, event; XSETFRAME (frame, f); /* #### make_int should assert that --kkm */ assert (XINT (make_int (id)) == id); image_instance = Fgethash (make_int (id), FRAME_MSWINDOWS_WIDGET_HASH_TABLE1 (f), Qnil); /* It is possible for a widget action to cause it to get out of sync with its instantiator. Thus it is necessary to signal this possibility. */ if (IMAGE_INSTANCEP (image_instance)) XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED (image_instance) = 1; callback = Fgethash (make_int (id), FRAME_MSWINDOWS_WIDGET_HASH_TABLE2 (f), Qnil); callback_ex = Fgethash (make_int (id), FRAME_MSWINDOWS_WIDGET_HASH_TABLE3 (f), Qnil); if (!NILP (callback_ex) && !UNBOUNDP (callback_ex)) { event = Fmake_event (Qnil, Qnil); XEVENT (event)->event_type = misc_user_event; XEVENT (event)->channel = frame; XEVENT (event)->timestamp = GetTickCount (); XEVENT (event)->event.eval.function = Qeval; XEVENT (event)->event.eval.object = list4 (Qfuncall, callback_ex, image_instance, event); } else if (NILP (callback) || UNBOUNDP (callback)) return Qnil; else { Lisp_Object fn, arg; event = Fmake_event (Qnil, Qnil); get_gui_callback (callback, &fn, &arg); XEVENT (event)->event_type = misc_user_event; XEVENT (event)->channel = frame; XEVENT (event)->timestamp = GetTickCount (); XEVENT (event)->event.eval.function = fn; XEVENT (event)->event.eval.object = arg; } mswindows_enqueue_dispatch_event (event); /* The result of this evaluation could cause other instances to change so enqueue an update callback to check this. */ enqueue_magic_eval_event (update_widget_instances, frame); return Qt; } void syms_of_gui_mswindows (void) { }