X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=src%2Fframe-msw.c;h=6eaac63cc066701d086d863adc8c1aa97c17774f;hp=e7c19a040583981d5948645e1a08a6d72e0823ef;hb=ea1ea793fe6e244ef5555ed983423a204101af13;hpb=cb9f6f4eadc44f1becb32cbbd1db26449e347755 diff --git a/src/frame-msw.c b/src/frame-msw.c index e7c19a0..6eaac63 100644 --- a/src/frame-msw.c +++ b/src/frame-msw.c @@ -181,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) : - (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, @@ -246,13 +248,13 @@ mswindows_after_init_frame (struct frame *f, int first_on_device, } static void -mswindows_mark_frame (struct frame *f, void (*markobj) (Lisp_Object)) +mswindows_mark_frame (struct frame *f) { - markobj (FRAME_MSWINDOWS_MENU_HASH_TABLE (f)); + mark_object (FRAME_MSWINDOWS_MENU_HASH_TABLE (f)); #ifdef HAVE_TOOLBARS - markobj (FRAME_MSWINDOWS_TOOLBAR_HASH_TABLE (f)); + mark_object (FRAME_MSWINDOWS_TOOLBAR_HASH_TABLE (f)); #endif - markobj (FRAME_MSWINDOWS_WIDGET_HASH_TABLE (f)); + mark_object (FRAME_MSWINDOWS_WIDGET_HASH_TABLE (f)); } static void @@ -306,10 +308,10 @@ mswindows_set_frame_position (struct frame *f, int xoff, int yoff) 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_SHOWNORMAL); + ShowWindow (FRAME_MSWINDOWS_HANDLE(f), SW_SHOW); f->visible = 1; f->iconified = 0; } @@ -317,8 +319,11 @@ mswindows_make_frame_visible (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); - f->visible = -1; + f->visible = 0; } static int @@ -461,7 +466,6 @@ static void mswindows_raise_frame (struct frame *f) { BringWindowToTop (FRAME_MSWINDOWS_HANDLE(f)); - /* XXX Should we do SetWindowForeground too ? */ } static void @@ -737,10 +741,16 @@ syms_of_frame_mswindows (void) } void -vars_of_frame_mswindows (void) +reinit_vars_of_frame_mswindows (void) { /* Needn't staticpro -- see comment above. */ Vmswindows_frame_being_created = Qnil; +} + +void +vars_of_frame_mswindows (void) +{ + reinit_vars_of_frame_mswindows (); DEFVAR_LISP ("mswindows-use-system-frame-size-defaults", &Vmswindows_use_system_frame_size_defaults /* Controls whether to use system or XEmacs defaults for frame size.