summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2013-07-21 17:46:43 +0200
committerBram Moolenaar <Bram@vim.org>2013-07-21 17:46:43 +0200
commit5f919ee8ebe15906bf865e772d5b922438e95ec0 (patch)
tree2ab0ff1ad7be21d0f8a08c97dc10ab5e7d0d6518
parentac7c33e38c6e47a9568c1037e9ddd09d29c2a64e (diff)
downloadvim-git-5f919ee8ebe15906bf865e772d5b922438e95ec0.tar.gz
updated for version 7.4a.037v7.4a.037
Problem: Win32: When mouse is hidden and in the toolbar, moving it won't make it appear. (Sami Salonen) Solution: Add tabline_wndproc() and toolbar_wndproc(). (Ken Takata)
-rw-r--r--src/gui_w32.c26
-rw-r--r--src/gui_w48.c2
-rw-r--r--src/version.c2
3 files changed, 30 insertions, 0 deletions
diff --git a/src/gui_w32.c b/src/gui_w32.c
index 4443d35c0..5ec14983e 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -344,11 +344,13 @@ static UINT msh_msgmousewheel = 0;
static int s_usenewlook; /* emulate W95/NT4 non-bold dialogs */
#ifdef FEAT_TOOLBAR
static void initialise_toolbar(void);
+static LRESULT CALLBACK toolbar_wndproc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
static int get_toolbar_bitmap(vimmenu_T *menu);
#endif
#ifdef FEAT_GUI_TABLINE
static void initialise_tabline(void);
+static LRESULT CALLBACK tabline_wndproc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
#endif
#ifdef FEAT_MBYTE_IME
@@ -4127,10 +4129,22 @@ initialise_toolbar(void)
TOOLBAR_BUTTON_HEIGHT,
sizeof(TBBUTTON)
);
+ s_toolbar_wndproc = SubclassWindow(s_toolbarhwnd, toolbar_wndproc);
gui_mch_show_toolbar(vim_strchr(p_go, GO_TOOLBAR) != NULL);
}
+ static LRESULT CALLBACK
+toolbar_wndproc(
+ HWND hwnd,
+ UINT uMsg,
+ WPARAM wParam,
+ LPARAM lParam)
+{
+ HandleMouseHide(uMsg, lParam);
+ return CallWindowProc(s_toolbar_wndproc, hwnd, uMsg, wParam, lParam);
+}
+
static int
get_toolbar_bitmap(vimmenu_T *menu)
{
@@ -4207,6 +4221,7 @@ initialise_tabline(void)
WS_CHILD|TCS_FOCUSNEVER|TCS_TOOLTIPS,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, s_hwnd, NULL, s_hinst, NULL);
+ s_tabline_wndproc = SubclassWindow(s_tabhwnd, tabline_wndproc);
gui.tabline_height = TABLINE_HEIGHT;
@@ -4214,6 +4229,17 @@ initialise_tabline(void)
set_tabline_font();
# endif
}
+
+ static LRESULT CALLBACK
+tabline_wndproc(
+ HWND hwnd,
+ UINT uMsg,
+ WPARAM wParam,
+ LPARAM lParam)
+{
+ HandleMouseHide(uMsg, lParam);
+ return CallWindowProc(s_tabline_wndproc, hwnd, uMsg, wParam, lParam);
+}
#endif
#if defined(FEAT_OLE) || defined(FEAT_EVAL) || defined(PROTO)
diff --git a/src/gui_w48.c b/src/gui_w48.c
index 8097fb9c1..4458bde53 100644
--- a/src/gui_w48.c
+++ b/src/gui_w48.c
@@ -177,10 +177,12 @@ static HBRUSH s_brush = NULL;
#ifdef FEAT_TOOLBAR
static HWND s_toolbarhwnd = NULL;
+static WNDPROC s_toolbar_wndproc = NULL;
#endif
#ifdef FEAT_GUI_TABLINE
static HWND s_tabhwnd = NULL;
+static WNDPROC s_tabline_wndproc = NULL;
static int showing_tabline = 0;
#endif
diff --git a/src/version.c b/src/version.c
index b22b9749c..16faee2f9 100644
--- a/src/version.c
+++ b/src/version.c
@@ -728,6 +728,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 37,
+/**/
36,
/**/
35,