projects
/
chise
/
xemacs-chise.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(struct Lisp_Charset): Change type of `decoding_table' from <Emchar*>
[chise/xemacs-chise.git]
/
src
/
frame-msw.c
diff --git
a/src/frame-msw.c
b/src/frame-msw.c
index
2b2b10c
..
f48b7af
100644
(file)
--- a/
src/frame-msw.c
+++ b/
src/frame-msw.c
@@
-33,8
+33,10
@@
Boston, MA 02111-1307, USA. */
#include "lisp.h"
#include "buffer.h"
#include "lisp.h"
#include "buffer.h"
+#include "elhash.h"
#include "console-msw.h"
#include "glyphs-msw.h"
#include "console-msw.h"
#include "glyphs-msw.h"
+#include "elhash.h"
#include "events.h"
#include "faces.h"
#include "frame.h"
#include "events.h"
#include "faces.h"
#include "frame.h"
@@
-128,10
+130,12
@@
mswindows_init_frame_1 (struct frame *f, Lisp_Object props)
FRAME_MSWINDOWS_DATA(f)->sizing = 0;
FRAME_MSWINDOWS_MENU_HASH_TABLE(f) = Qnil;
#ifdef HAVE_TOOLBARS
FRAME_MSWINDOWS_DATA(f)->sizing = 0;
FRAME_MSWINDOWS_MENU_HASH_TABLE(f) = Qnil;
#ifdef HAVE_TOOLBARS
- FRAME_MSWINDOWS_TOOLBAR_HASH_TABLE(f) = Fmake_hash_table (make_int (50),
- Qequal);
+ FRAME_MSWINDOWS_TOOLBAR_HASH_TABLE(f) =
+ make_lisp_hash_table (50, HASH_TABLE_NON_WEAK, HASH_TABLE_EQUAL);
#endif
#endif
-
+ /* hashtable of instantiated glyphs on the frame. */
+ FRAME_MSWINDOWS_WIDGET_HASH_TABLE (f) =
+ make_lisp_hash_table (50, HASH_TABLE_VALUE_WEAK, HASH_TABLE_EQUAL);
/* Will initialize these in WM_SIZE handler. We cannot do it now,
because we do not know what is CW_USEDEFAULT height and width */
FRAME_WIDTH (f) = 0;
/* Will initialize these in WM_SIZE handler. We cannot do it now,
because we do not know what is CW_USEDEFAULT height and width */
FRAME_WIDTH (f) = 0;
@@
-177,7
+181,9
@@
mswindows_init_frame_1 (struct frame *f, Lisp_Object props)
hwnd = CreateWindowEx (exstyle,
XEMACS_CLASS,
STRINGP(f->name) ? XSTRING_DATA(f->name) :
hwnd = CreateWindowEx (exstyle,
XEMACS_CLASS,
STRINGP(f->name) ? XSTRING_DATA(f->name) :
- (STRINGP(name) ? XSTRING_DATA(name) : XEMACS_CLASS),
+ (STRINGP(name) ?
+ (CONST Extbyte*)XSTRING_DATA(name) :
+ (CONST Extbyte*)XEMACS_CLASS),
style,
rect_default.left, rect_default.top,
rect_default.width, rect_default.height,
style,
rect_default.left, rect_default.top,
rect_default.width, rect_default.height,
@@
-248,6
+254,7
@@
mswindows_mark_frame (struct frame *f, void (*markobj) (Lisp_Object))
#ifdef HAVE_TOOLBARS
markobj (FRAME_MSWINDOWS_TOOLBAR_HASH_TABLE (f));
#endif
#ifdef HAVE_TOOLBARS
markobj (FRAME_MSWINDOWS_TOOLBAR_HASH_TABLE (f));
#endif
+ markobj (FRAME_MSWINDOWS_WIDGET_HASH_TABLE (f));
}
static void
}
static void
@@
-301,10
+308,10
@@
mswindows_set_frame_position (struct frame *f, int xoff, int yoff)
static void
mswindows_make_frame_visible (struct frame *f)
{
static void
mswindows_make_frame_visible (struct frame *f)
{
- if (f->iconified)
+ if (!FRAME_VISIBLE_P(f))
ShowWindow (FRAME_MSWINDOWS_HANDLE(f), SW_RESTORE);
else
ShowWindow (FRAME_MSWINDOWS_HANDLE(f), SW_RESTORE);
else
- ShowWindow (FRAME_MSWINDOWS_HANDLE(f), SW_SHOWNORMAL);
+ ShowWindow (FRAME_MSWINDOWS_HANDLE(f), SW_SHOW);
f->visible = 1;
f->iconified = 0;
}
f->visible = 1;
f->iconified = 0;
}
@@
-312,8
+319,11
@@
mswindows_make_frame_visible (struct frame *f)
static void
mswindows_make_frame_invisible (struct frame *f)
{
static void
mswindows_make_frame_invisible (struct frame *f)
{
+ if (!FRAME_VISIBLE_P(f))
+ return;
+
ShowWindow (FRAME_MSWINDOWS_HANDLE(f), SW_HIDE);
ShowWindow (FRAME_MSWINDOWS_HANDLE(f), SW_HIDE);
- f->visible = -1;
+ f->visible = 0;
}
static int
}
static int
@@
-393,6
+403,10
@@
mswindows_set_frame_pointer (struct frame *f)
{
SetClassLong (FRAME_MSWINDOWS_HANDLE (f), GCL_HCURSOR,
(LONG) XIMAGE_INSTANCE_MSWINDOWS_ICON (f->pointer));
{
SetClassLong (FRAME_MSWINDOWS_HANDLE (f), GCL_HCURSOR,
(LONG) XIMAGE_INSTANCE_MSWINDOWS_ICON (f->pointer));
+ /* we only have to do this because GC doesn't cause a mouse
+ event and doesn't give time to event processing even if it
+ did. */
+ SetCursor (XIMAGE_INSTANCE_MSWINDOWS_ICON (f->pointer));
}
}
}
}
@@
-452,7
+466,6
@@
static void
mswindows_raise_frame (struct frame *f)
{
BringWindowToTop (FRAME_MSWINDOWS_HANDLE(f));
mswindows_raise_frame (struct frame *f)
{
BringWindowToTop (FRAME_MSWINDOWS_HANDLE(f));
- /* XXX Should we do SetWindowForeground too ? */
}
static void
}
static void