projects
/
chise
/
xemacs-chise.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
XEmacs 21.2.12
[chise/xemacs-chise.git]
/
src
/
frame-msw.c
diff --git
a/src/frame-msw.c
b/src/frame-msw.c
index
3325da7
..
653f53f
100644
(file)
--- a/
src/frame-msw.c
+++ b/
src/frame-msw.c
@@
-33,6
+33,7
@@
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 "elhash.h"
#include "console-msw.h"
#include "glyphs-msw.h"
#include "elhash.h"
@@
-129,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) =
+ FRAME_MSWINDOWS_TOOLBAR_HASH_TABLE(f) =
make_lisp_hash_table (50, HASH_TABLE_NON_WEAK, HASH_TABLE_EQUAL);
#endif
make_lisp_hash_table (50, HASH_TABLE_NON_WEAK, HASH_TABLE_EQUAL);
#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;
@@
-178,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,
@@
-249,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
@@
-305,7
+311,7
@@
mswindows_make_frame_visible (struct frame *f)
if (f->iconified)
ShowWindow (FRAME_MSWINDOWS_HANDLE(f), SW_RESTORE);
else
if (f->iconified)
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;
}
@@
-394,6
+400,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));
}
}
}
}
@@
-453,7
+463,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