# HG changeset patch # User YAMAMOTO Mitsuharu # Date 1181810332 0 # Node ID 15029e786d85719d4211b8f589dab5fca713d8f2 # Parent 217675ce2532696bd030be246f19ff0e7f89602a (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity. (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR. diff -r 217675ce2532 -r 15029e786d85 src/macfns.c --- a/src/macfns.c Thu Jun 14 08:38:42 2007 +0000 +++ b/src/macfns.c Thu Jun 14 08:38:52 2007 +0000 @@ -1682,6 +1682,25 @@ /* Make sure we redisplay all windows in this frame. */ ++windows_or_buffers_changed; +#if USE_MAC_TOOLBAR + FRAME_TOOL_BAR_LINES (f) = 0; + if (nlines) + { + FRAME_EXTERNAL_TOOL_BAR (f) = 1; + if (FRAME_MAC_P (f) && !IsWindowToolbarVisible (FRAME_MAC_WINDOW (f))) + /* Make sure next redisplay shows the tool bar. */ + XWINDOW (FRAME_SELECTED_WINDOW (f))->update_mode_line = Qt; + } + else + { + if (FRAME_EXTERNAL_TOOL_BAR (f)) + free_frame_tool_bar (f); + FRAME_EXTERNAL_TOOL_BAR (f) = 0; + } + + return; +#endif + delta = nlines - FRAME_TOOL_BAR_LINES (f); /* Don't resize the tool-bar to more than we have room for. */ @@ -2284,6 +2303,16 @@ XSetWindowBackground (FRAME_MAC_DISPLAY(f), FRAME_MAC_WINDOW (f), FRAME_BACKGROUND_PIXEL (f)); +#if USE_MAC_TOOLBAR + /* At the moment, the size of the tool bar is not yet known. We + record the gravity value of the newly created window and use it + to adjust the position of the window (especially for a negative + specification of its vertical position) when the tool bar is + first redisplayed. */ + if (FRAME_EXTERNAL_TOOL_BAR (f)) + f->output_data.mac->toolbar_win_gravity = f->win_gravity; +#endif + validate_x_resource_name (); /* x_set_name normally ignores requests to set the name if the