Loading ...
Sorry, an error occurred while loading the content.

Re: VIM window restores incorrectly

Expand Messages
  • Yegappan Lakshmanan
    Hi Liu, ... This looks like the correct fix. The TCM_SETITEMW message should be used instead of the TCM_INSERTITEMW message to modify the attributes of an
    Message 1 of 8 , Nov 26, 2006
    • 0 Attachment
      Hi Liu,

      On 11/23/06, Liu Yubao <yubao.liu@...> wrote:
      > Bram Moolenaar wrote:
      > > Yegappan Lakshmanan wrote:
      > >
      > >> On 11/22/06, Bram Moolenaar <Bram@...> wrote:
      > >>> It does happen for me:
      > >>>
      > >>> "gvim somefile"
      > >>> maximize gvim window
      > >>> minimize gvim window
      > >>> "gvim --remote-tab otherfile"
      > >>>
      > >>> Now I only see the tab label for "otherfile". I can click on the gap
      > >>> before it to go to "somefile", and then only that label is shown.
      > >>>
      > >> Which version of MS-Windows (Win98/WinME/Win2K/WinXP/Vista)
      > >> are you using? I am not able to reproduce this problem using the
      > >> above steps on WinXP and Win2K.
      > >>
      > >> I am using the following version of Vim:
      > >>
      > >> VIM - Vi IMproved 7.0 (2006 May 7, compiled May 7 2006 16:21:39)
      > >> MS-Windows 32 bit GUI version
      > >> Compiled by Bram@KIBAALE
      > >> Big version with GUI. Features included (+) or not (-):
      > >>
      > >> Anybody else seeing this problem on MS-Windows?
      > >
      > > It apparently only happens when 'encoding' is set to "utf-8". Can you
      > > reproduce it then?
      > >
      >
      > I think I got it. In gui_w48.c:gui_mch_update_tabline(),
      > SendMessage(...TCM_INSERTITEMW...) is called at line 2408
      > but TabCtrl_SetItem(...) at line 2416. I'm a little confused
      > why it sends an INSERT message but not a SET one too.
      >
      > Index: gui_w48.c
      > ===================================================================
      > --- gui_w48.c (revision 184)
      > +++ gui_w48.c (working copy)
      > @@ -2405,7 +2405,7 @@
      > tiw.mask = TCIF_TEXT;
      > tiw.iImage = -1;
      > tiw.pszText = wstr;
      > - SendMessage(s_tabhwnd, TCM_INSERTITEMW, (WPARAM)nr,
      > + SendMessage(s_tabhwnd, TCM_SETITEMW, (WPARAM)nr,
      > (LPARAM)&tiw);
      > vim_free(wstr);
      > }
      >

      This looks like the correct fix. The TCM_SETITEMW message should be
      used instead of the TCM_INSERTITEMW message to modify the attributes
      of an existing item in the tab control.

      - Yegappan
    Your message has been successfully submitted and would be delivered to recipients shortly.