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

Re: Patch 7.3.759

Expand Messages
  • char101
    ... Setting WM_SETREDRAW to TRUE is not enough. At least in my computer (Win XP), the tabline is not repainted after deleting a tab. It needs to call
    Message 1 of 3 , Dec 15, 2012
    • 0 Attachment
      On Wednesday, December 12, 2012 11:12:40 PM UTC+7, Bram Moolenaar wrote:
      > Patch 7.3.759
      >
      > Problem: MS-Windows: Updating the tabline is slow when there are many tabs.
      >
      > Solution: Disable redrawing while performing the update. (Arseny Kapoulkine)
      >
      > Files: src/gui_w48.c
      > + /* Re-enable redraw. This should trigger a repaint. */
      >
      > + SendMessage(s_tabhwnd, WM_SETREDRAW, (WPARAM)TRUE, 0);

      Setting WM_SETREDRAW to TRUE is not enough. At least in my computer (Win XP), the tabline is not repainted after deleting a tab. It needs to call RedrawWindows after it.

      /* Re-enable redraw. This should trigger a repaint. */
      SendMessage(s_tabhwnd, WM_SETREDRAW, (WPARAM)TRUE, 0);
      RedrawWindow(s_tabhwnd, NULL, NULL, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN);

      --
      You received this message from the "vim_dev" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php
    • Bram Moolenaar
      ... OK, but wouldn t this cause the tabline to be drawn twice in some systems? -- hundred-and-one symptoms of being an internet addict: 165. You have a web
      Message 2 of 3 , Dec 15, 2012
      • 0 Attachment
        peacech wrote:

        > On Wednesday, December 12, 2012 11:12:40 PM UTC+7, Bram Moolenaar wrote:
        > > Patch 7.3.759
        > >
        > > Problem: MS-Windows: Updating the tabline is slow when there are many tabs.
        > >
        > > Solution: Disable redrawing while performing the update. (Arseny Kapoulkine)
        > >
        > > Files: src/gui_w48.c
        > > + /* Re-enable redraw. This should trigger a repaint. */
        > >
        > > + SendMessage(s_tabhwnd, WM_SETREDRAW, (WPARAM)TRUE, 0);
        >
        > Setting WM_SETREDRAW to TRUE is not enough. At least in my computer
        > (Win XP), the tabline is not repainted after deleting a tab. It needs
        > to call RedrawWindows after it.
        >
        > /* Re-enable redraw. This should trigger a repaint. */
        > SendMessage(s_tabhwnd, WM_SETREDRAW, (WPARAM)TRUE, 0);
        > RedrawWindow(s_tabhwnd, NULL, NULL, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN);

        OK, but wouldn't this cause the tabline to be drawn twice in some
        systems?

        --
        hundred-and-one symptoms of being an internet addict:
        165. You have a web page burned into your glasses

        /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
        /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
        \\\ an exciting new programming language -- http://www.Zimbu.org ///
        \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

        --
        You received this message from the "vim_dev" maillist.
        Do not top-post! Type your reply below the text you are replying to.
        For more information, visit http://www.vim.org/maillist.php
      Your message has been successfully submitted and would be delivered to recipients shortly.