Blob Blame History Raw
To: vim-dev@vim.org
Subject: Patch 7.2.065
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------

Patch 7.2.065
Problem:    GTK GUI: the cursor disappears when doing ":vsp" and the Vim
	    window is maximized.  (Dominique Pelle, Denis Smolyar)
Solution:   Don't change "Columns" back to an old value at a wrong moment.
	    Do change "Rows" when it should not be a problem.
Files:	    src/gui.c


*** ../vim-7.2.064/src/gui.c	Fri Nov 28 21:26:50 2008
--- src/gui.c	Wed Dec  3 18:01:21 2008
***************
*** 3241,3247 ****
  	    i = Rows;
  	    gui_update_tabline();
  	    Rows = i;
! 	    need_set_size = RESIZE_VERT;
  	    if (using_tabline)
  		fix_size = TRUE;
  	    if (!gui_use_tabline())
--- 3241,3247 ----
  	    i = Rows;
  	    gui_update_tabline();
  	    Rows = i;
! 	    need_set_size |= RESIZE_VERT;
  	    if (using_tabline)
  		fix_size = TRUE;
  	    if (!gui_use_tabline())
***************
*** 3275,3283 ****
  		if (gui.which_scrollbars[i] != prev_which_scrollbars[i])
  		{
  		    if (i == SBAR_BOTTOM)
! 			need_set_size = RESIZE_VERT;
  		    else
! 			need_set_size = RESIZE_HOR;
  		    if (gui.which_scrollbars[i])
  			fix_size = TRUE;
  		}
--- 3275,3283 ----
  		if (gui.which_scrollbars[i] != prev_which_scrollbars[i])
  		{
  		    if (i == SBAR_BOTTOM)
! 			need_set_size |= RESIZE_VERT;
  		    else
! 			need_set_size |= RESIZE_HOR;
  		    if (gui.which_scrollbars[i])
  			fix_size = TRUE;
  		}
***************
*** 3297,3303 ****
  	    gui_mch_enable_menu(gui.menu_is_active);
  	    Rows = i;
  	    prev_menu_is_active = gui.menu_is_active;
! 	    need_set_size = RESIZE_VERT;
  	    if (gui.menu_is_active)
  		fix_size = TRUE;
  	}
--- 3297,3303 ----
  	    gui_mch_enable_menu(gui.menu_is_active);
  	    Rows = i;
  	    prev_menu_is_active = gui.menu_is_active;
! 	    need_set_size |= RESIZE_VERT;
  	    if (gui.menu_is_active)
  		fix_size = TRUE;
  	}
***************
*** 3308,3314 ****
  	{
  	    gui_mch_show_toolbar(using_toolbar);
  	    prev_toolbar = using_toolbar;
! 	    need_set_size = RESIZE_VERT;
  	    if (using_toolbar)
  		fix_size = TRUE;
  	}
--- 3308,3314 ----
  	{
  	    gui_mch_show_toolbar(using_toolbar);
  	    prev_toolbar = using_toolbar;
! 	    need_set_size |= RESIZE_VERT;
  	    if (using_toolbar)
  		fix_size = TRUE;
  	}
***************
*** 3318,3324 ****
  	{
  	    gui_mch_enable_footer(using_footer);
  	    prev_footer = using_footer;
! 	    need_set_size = RESIZE_VERT;
  	    if (using_footer)
  		fix_size = TRUE;
  	}
--- 3318,3324 ----
  	{
  	    gui_mch_enable_footer(using_footer);
  	    prev_footer = using_footer;
! 	    need_set_size |= RESIZE_VERT;
  	    if (using_footer)
  		fix_size = TRUE;
  	}
***************
*** 3330,3339 ****
  	    prev_tearoff = using_tearoff;
  	}
  #endif
! 	if (need_set_size)
  	{
  #ifdef FEAT_GUI_GTK
! 	    long    c = Columns;
  #endif
  	    /* Adjust the size of the window to make the text area keep the
  	     * same size and to avoid that part of our window is off-screen
--- 3330,3340 ----
  	    prev_tearoff = using_tearoff;
  	}
  #endif
! 	if (need_set_size != 0)
  	{
  #ifdef FEAT_GUI_GTK
! 	    long    prev_Columns = Columns;
! 	    long    prev_Rows = Rows;
  #endif
  	    /* Adjust the size of the window to make the text area keep the
  	     * same size and to avoid that part of our window is off-screen
***************
*** 3349,3359 ****
  	     * If you remove this, please test this command for resizing
  	     * effects (with optional left scrollbar): ":vsp|q|vsp|q|vsp|q".
  	     * Don't do this while starting up though.
! 	     * And don't change Rows, it may have be reduced intentionally
! 	     * when adding menu/toolbar/tabline. */
! 	    if (!gui.starting)
  		(void)char_avail();
! 	    Columns = c;
  #endif
  	}
  #ifdef FEAT_WINDOWS
--- 3350,3363 ----
  	     * If you remove this, please test this command for resizing
  	     * effects (with optional left scrollbar): ":vsp|q|vsp|q|vsp|q".
  	     * Don't do this while starting up though.
! 	     * Don't change Rows when adding menu/toolbar/tabline.
! 	     * Don't change Columns when adding vertical toolbar. */
! 	    if (!gui.starting && need_set_size != (RESIZE_VERT | RESIZE_HOR))
  		(void)char_avail();
! 	    if ((need_set_size & RESIZE_VERT) == 0)
! 		Rows = prev_Rows;
! 	    if ((need_set_size & RESIZE_HOR) == 0)
! 		Columns = prev_Columns;
  #endif
  	}
  #ifdef FEAT_WINDOWS
*** ../vim-7.2.064/src/version.c	Wed Dec  3 13:38:00 2008
--- src/version.c	Wed Dec  3 18:47:11 2008
***************
*** 678,679 ****
--- 678,681 ----
  {   /* Add new patch number below this line */
+ /**/
+     65,
  /**/

-- 
Seen on the back of a biker's vest: If you can read this, my wife fell off.

 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///