X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fframe.c;h=1f1bc832c330a0e3b4f8029362a6a50d8881c49b;hb=66683c49a1ff6aa6b2fc50ec816770d6634a7593;hp=37ef75aa43fd84c88e16e995ea9015b8008f894a;hpb=caf1416adb403b6334ce635e58b269b6c653aa39;p=chise%2Fxemacs-chise.git- diff --git a/src/frame.c b/src/frame.c index 37ef75a..1f1bc83 100644 --- a/src/frame.c +++ b/src/frame.c @@ -119,7 +119,7 @@ static void store_minibuf_frame_prop (struct frame *f, Lisp_Object val); static struct display_line title_string_display_line; /* Used by generate_title_string. Global because they get used so much that the dynamic allocation time adds up. */ -static Emchar_dynarr *title_string_emchar_dynarr; +static Charc_dynarr *title_string_charc_dynarr; static Lisp_Object @@ -3007,9 +3007,15 @@ change_frame_size (struct frame *f, int newheight, int newwidth, int delay) So deal. */ check_frame_size (f, &newheight, &newwidth); + /* Unconditionally mark that the frame has changed size. This is + because many things need to know after the + fact. f->size_change_pending will get reset below. The most that + can happen is that we will cycle through redisplay once more + --andy. */ + MARK_FRAME_SIZE_CHANGED (f); + if (delay || in_display || gc_in_progress) { - MARK_FRAME_SIZE_CHANGED (f); f->new_width = newwidth; f->new_height = newheight; return; @@ -3046,19 +3052,19 @@ generate_title_string (struct window *w, Lisp_Object format_str, generate_formatted_string_db (format_str, Qnil, w, dl, db, findex, 0, -1, type); - Dynarr_reset (title_string_emchar_dynarr); + Dynarr_reset (title_string_charc_dynarr); while (elt < Dynarr_length (db->runes)) { if (Dynarr_atp (db->runes, elt)->type == RUNE_CHAR) - Dynarr_add (title_string_emchar_dynarr, - Dynarr_atp (db->runes, elt)->object.chr.ch); + Dynarr_add (title_string_charc_dynarr, + Dynarr_atp (db->runes, elt)->object.cglyph); elt++; } return - convert_emchar_string_into_malloced_string - (Dynarr_atp (title_string_emchar_dynarr, 0), - Dynarr_length (title_string_emchar_dynarr), 0); + convert_charc_string_into_malloced_string + (Dynarr_atp (title_string_charc_dynarr, 0), + Dynarr_length (title_string_charc_dynarr), 0); } void @@ -3169,7 +3175,7 @@ init_frame (void) if (!initialized) #endif { - title_string_emchar_dynarr = Dynarr_new (Emchar); + title_string_charc_dynarr = Dynarr_new (Charc); xzero (title_string_display_line); } }