7e41f97
To: vim_dev@googlegroups.com
7e41f97
Subject: Patch 7.3.382
7e41f97
Fcc: outbox
7e41f97
From: Bram Moolenaar <Bram@moolenaar.net>
7e41f97
Mime-Version: 1.0
7e41f97
Content-Type: text/plain; charset=UTF-8
7e41f97
Content-Transfer-Encoding: 8bit
7e41f97
------------
7e41f97
7e41f97
Patch 7.3.382 (after 7.3.376)
7e41f97
Problem:    IME characters are inserted twice.
7e41f97
Solution:   Do not call DefWindowProc() if the event was handled. (Yasuhiro
7e41f97
	    Matsumoto)
7e41f97
Files:	    src/gui_w32.c
7e41f97
7e41f97
7e41f97
*** ../vim-7.3.381/src/gui_w32.c	2011-12-14 15:23:53.000000000 +0100
7e41f97
--- src/gui_w32.c	2011-12-15 21:50:51.000000000 +0100
7e41f97
***************
7e41f97
*** 798,804 ****
7e41f97
  		if (pt.y < rect.top)
7e41f97
  		{
7e41f97
  		    show_tabline_popup_menu();
7e41f97
! 		    return 0;
7e41f97
  		}
7e41f97
  	    }
7e41f97
  	    return MyWindowProc(hwnd, uMsg, wParam, lParam);
7e41f97
--- 798,804 ----
7e41f97
  		if (pt.y < rect.top)
7e41f97
  		{
7e41f97
  		    show_tabline_popup_menu();
7e41f97
! 		    return 0L;
7e41f97
  		}
7e41f97
  	    }
7e41f97
  	    return MyWindowProc(hwnd, uMsg, wParam, lParam);
7e41f97
***************
7e41f97
*** 828,834 ****
7e41f97
--- 828,837 ----
7e41f97
  
7e41f97
      case WM_ENDSESSION:
7e41f97
  	if (wParam)	/* system only really goes down when wParam is TRUE */
7e41f97
+ 	{
7e41f97
  	    _OnEndSession();
7e41f97
+ 	    return 0L;
7e41f97
+ 	}
7e41f97
  	break;
7e41f97
  
7e41f97
      case WM_CHAR:
7e41f97
***************
7e41f97
*** 866,872 ****
7e41f97
  	 * are received, mouse pointer remains hidden. */
7e41f97
  	return MyWindowProc(hwnd, uMsg, wParam, lParam);
7e41f97
  #else
7e41f97
! 	return 0;
7e41f97
  #endif
7e41f97
  
7e41f97
      case WM_SIZING:	/* HANDLE_MSG doesn't seem to handle this one */
7e41f97
--- 869,875 ----
7e41f97
  	 * are received, mouse pointer remains hidden. */
7e41f97
  	return MyWindowProc(hwnd, uMsg, wParam, lParam);
7e41f97
  #else
7e41f97
! 	return 0L;
7e41f97
  #endif
7e41f97
  
7e41f97
      case WM_SIZING:	/* HANDLE_MSG doesn't seem to handle this one */
7e41f97
***************
7e41f97
*** 874,880 ****
7e41f97
  
7e41f97
      case WM_MOUSEWHEEL:
7e41f97
  	_OnMouseWheel(hwnd, HIWORD(wParam));
7e41f97
! 	break;
7e41f97
  
7e41f97
  	/* Notification for change in SystemParametersInfo() */
7e41f97
      case WM_SETTINGCHANGE:
7e41f97
--- 877,883 ----
7e41f97
  
7e41f97
      case WM_MOUSEWHEEL:
7e41f97
  	_OnMouseWheel(hwnd, HIWORD(wParam));
7e41f97
! 	return 0L;
7e41f97
  
7e41f97
  	/* Notification for change in SystemParametersInfo() */
7e41f97
      case WM_SETTINGCHANGE:
7e41f97
***************
7e41f97
*** 987,999 ****
7e41f97
--- 990,1008 ----
7e41f97
  	    case TCN_SELCHANGE:
7e41f97
  		if (gui_mch_showing_tabline()
7e41f97
  				  && ((LPNMHDR)lParam)->hwndFrom == s_tabhwnd)
7e41f97
+ 		{
7e41f97
  		    send_tabline_event(TabCtrl_GetCurSel(s_tabhwnd) + 1);
7e41f97
+ 		    return 0L;
7e41f97
+ 		}
7e41f97
  		break;
7e41f97
  
7e41f97
  	    case NM_RCLICK:
7e41f97
  		if (gui_mch_showing_tabline()
7e41f97
  			&& ((LPNMHDR)lParam)->hwndFrom == s_tabhwnd)
7e41f97
+ 		{
7e41f97
  		    show_tabline_popup_menu();
7e41f97
+ 		    return 0L;
7e41f97
+ 		}
7e41f97
  		break;
7e41f97
  # endif
7e41f97
  	    default:
7e41f97
***************
7e41f97
*** 1037,1042 ****
7e41f97
--- 1046,1052 ----
7e41f97
  		out_flush();
7e41f97
  		did_menu_tip = TRUE;
7e41f97
  	    }
7e41f97
+ 	    return 0L;
7e41f97
  	}
7e41f97
  	break;
7e41f97
  #endif
7e41f97
***************
7e41f97
*** 1079,1096 ****
7e41f97
      case WM_IME_NOTIFY:
7e41f97
  	if (!_OnImeNotify(hwnd, (DWORD)wParam, (DWORD)lParam))
7e41f97
  	    return MyWindowProc(hwnd, uMsg, wParam, lParam);
7e41f97
! 	break;
7e41f97
      case WM_IME_COMPOSITION:
7e41f97
  	if (!_OnImeComposition(hwnd, wParam, lParam))
7e41f97
  	    return MyWindowProc(hwnd, uMsg, wParam, lParam);
7e41f97
! 	break;
7e41f97
  #endif
7e41f97
  
7e41f97
      default:
7e41f97
  	if (uMsg == msh_msgmousewheel && msh_msgmousewheel != 0)
7e41f97
  	{   /* handle MSH_MOUSEWHEEL messages for Intellimouse */
7e41f97
  	    _OnMouseWheel(hwnd, HIWORD(wParam));
7e41f97
! 	    break;
7e41f97
  	}
7e41f97
  #ifdef MSWIN_FIND_REPLACE
7e41f97
  	else if (uMsg == s_findrep_msg && s_findrep_msg != 0)
7e41f97
--- 1089,1107 ----
7e41f97
      case WM_IME_NOTIFY:
7e41f97
  	if (!_OnImeNotify(hwnd, (DWORD)wParam, (DWORD)lParam))
7e41f97
  	    return MyWindowProc(hwnd, uMsg, wParam, lParam);
7e41f97
! 	return 1L;
7e41f97
! 
7e41f97
      case WM_IME_COMPOSITION:
7e41f97
  	if (!_OnImeComposition(hwnd, wParam, lParam))
7e41f97
  	    return MyWindowProc(hwnd, uMsg, wParam, lParam);
7e41f97
! 	return 1L;
7e41f97
  #endif
7e41f97
  
7e41f97
      default:
7e41f97
  	if (uMsg == msh_msgmousewheel && msh_msgmousewheel != 0)
7e41f97
  	{   /* handle MSH_MOUSEWHEEL messages for Intellimouse */
7e41f97
  	    _OnMouseWheel(hwnd, HIWORD(wParam));
7e41f97
! 	    return 0L;
7e41f97
  	}
7e41f97
  #ifdef MSWIN_FIND_REPLACE
7e41f97
  	else if (uMsg == s_findrep_msg && s_findrep_msg != 0)
7e41f97
*** ../vim-7.3.381/src/version.c	2011-12-14 20:51:19.000000000 +0100
7e41f97
--- src/version.c	2011-12-15 21:48:49.000000000 +0100
7e41f97
***************
7e41f97
*** 716,717 ****
7e41f97
--- 716,719 ----
7e41f97
  {   /* Add new patch number below this line */
7e41f97
+ /**/
7e41f97
+     382,
7e41f97
  /**/
7e41f97
7e41f97
-- 
7e41f97
Even got a Datapoint 3600(?) with a DD50 connector instead of the
7e41f97
usual DB25...  what a nightmare trying to figure out the pinout
7e41f97
for *that* with no spex...
7e41f97
7e41f97
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
7e41f97
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
7e41f97
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
7e41f97
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///