comparison src/frame.c @ 286:57709be46d1b r21-0b41

Import from CVS: tag r21-0b41
author cvs
date Mon, 13 Aug 2007 10:35:03 +0200
parents 558f606b08ae
children c9fe270a4101
comparison
equal deleted inserted replaced
285:9a3756523c1b 286:57709be46d1b
131 { 131 {
132 struct frame *f = XFRAME (obj); 132 struct frame *f = XFRAME (obj);
133 133
134 #define MARKED_SLOT(x) ((markobj) (f->x)); 134 #define MARKED_SLOT(x) ((markobj) (f->x));
135 #include "frameslots.h" 135 #include "frameslots.h"
136 #undef MARKED_SLOT
137
138 #ifdef HAVE_TOOLBARS
139 ((markobj) (f->toolbar_data[0]));
140 ((markobj) (f->toolbar_data[1]));
141 ((markobj) (f->toolbar_data[2]));
142 ((markobj) (f->toolbar_data[3]));
143
144 ((markobj) (f->toolbar_size[0]));
145 ((markobj) (f->toolbar_size[1]));
146 ((markobj) (f->toolbar_size[2]));
147 ((markobj) (f->toolbar_size[3]));
148
149 ((markobj) (f->toolbar_visible_p[0]));
150 ((markobj) (f->toolbar_visible_p[1]));
151 ((markobj) (f->toolbar_visible_p[2]));
152 ((markobj) (f->toolbar_visible_p[3]));
153 #endif /* HAVE_TOOLBARS */
154 136
155 if (FRAME_LIVE_P (f)) /* device is nil for a dead frame */ 137 if (FRAME_LIVE_P (f)) /* device is nil for a dead frame */
156 MAYBE_FRAMEMETH (f, mark_frame, (f, markobj)); 138 MAYBE_FRAMEMETH (f, mark_frame, (f, markobj));
157 139
158 return Qnil; 140 return Qnil;
183 static void 165 static void
184 nuke_all_frame_slots (struct frame *f) 166 nuke_all_frame_slots (struct frame *f)
185 { 167 {
186 #define MARKED_SLOT(x) f->x = Qnil; 168 #define MARKED_SLOT(x) f->x = Qnil;
187 #include "frameslots.h" 169 #include "frameslots.h"
188 #undef MARKED_SLOT
189
190 #ifdef HAVE_TOOLBARS
191 f->toolbar_data[0] = Qnil;
192 f->toolbar_data[1] = Qnil;
193 f->toolbar_data[2] = Qnil;
194 f->toolbar_data[3] = Qnil;
195
196 f->toolbar_size[0] = Qnil;
197 f->toolbar_size[1] = Qnil;
198 f->toolbar_size[2] = Qnil;
199 f->toolbar_size[3] = Qnil;
200
201 f->toolbar_visible_p[0] = Qnil;
202 f->toolbar_visible_p[1] = Qnil;
203 f->toolbar_visible_p[2] = Qnil;
204 f->toolbar_visible_p[3] = Qnil;
205 #endif /* HAVE_TOOLBARS */
206 } 170 }
207 171
208 /* Allocate a new frame object and set all its fields to reasonable 172 /* Allocate a new frame object and set all its fields to reasonable
209 values. The root window is created but the minibuffer will be done 173 values. The root window is created but the minibuffer will be done
210 later. */ 174 later. */
925 set_frame_selected_window (struct frame *f, Lisp_Object window) 889 set_frame_selected_window (struct frame *f, Lisp_Object window)
926 { 890 {
927 assert (XFRAME (WINDOW_FRAME (XWINDOW (window))) == f); 891 assert (XFRAME (WINDOW_FRAME (XWINDOW (window))) == f);
928 f->selected_window = window; 892 f->selected_window = window;
929 if (!MINI_WINDOW_P (XWINDOW (window)) || FRAME_MINIBUF_ONLY_P (f)) 893 if (!MINI_WINDOW_P (XWINDOW (window)) || FRAME_MINIBUF_ONLY_P (f))
930 f->last_nonminibuf_window = window; 894 {
895 #ifdef HAVE_TOOLBARS
896 if (!EQ (f->last_nonminibuf_window, window))
897 MARK_TOOLBAR_CHANGED;
898 #endif
899 f->last_nonminibuf_window = window;
900 }
931 } 901 }
932 902
933 DEFUN ("set-frame-selected-window", Fset_frame_selected_window, 2, 2, 0, /* 903 DEFUN ("set-frame-selected-window", Fset_frame_selected_window, 2, 2, 0, /*
934 Set the selected window of frame object FRAME to WINDOW. 904 Set the selected window of frame object FRAME to WINDOW.
935 If FRAME is nil, the selected frame is used. 905 If FRAME is nil, the selected frame is used.