To: vim_dev@googlegroups.com
Subject: Patch 7.3.382
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------

Patch 7.3.382 (after 7.3.376)
Problem:    IME characters are inserted twice.
Solution:   Do not call DefWindowProc() if the event was handled. (Yasuhiro
	    Matsumoto)
Files:	    src/gui_w32.c


*** ../vim-7.3.381/src/gui_w32.c	2011-12-14 15:23:53.000000000 +0100
--- src/gui_w32.c	2011-12-15 21:50:51.000000000 +0100
***************
*** 798,804 ****
  		if (pt.y < rect.top)
  		{
  		    show_tabline_popup_menu();
! 		    return 0;
  		}
  	    }
  	    return MyWindowProc(hwnd, uMsg, wParam, lParam);
--- 798,804 ----
  		if (pt.y < rect.top)
  		{
  		    show_tabline_popup_menu();
! 		    return 0L;
  		}
  	    }
  	    return MyWindowProc(hwnd, uMsg, wParam, lParam);
***************
*** 828,834 ****
--- 828,837 ----
  
      case WM_ENDSESSION:
  	if (wParam)	/* system only really goes down when wParam is TRUE */
+ 	{
  	    _OnEndSession();
+ 	    return 0L;
+ 	}
  	break;
  
      case WM_CHAR:
***************
*** 866,872 ****
  	 * are received, mouse pointer remains hidden. */
  	return MyWindowProc(hwnd, uMsg, wParam, lParam);
  #else
! 	return 0;
  #endif
  
      case WM_SIZING:	/* HANDLE_MSG doesn't seem to handle this one */
--- 869,875 ----
  	 * are received, mouse pointer remains hidden. */
  	return MyWindowProc(hwnd, uMsg, wParam, lParam);
  #else
! 	return 0L;
  #endif
  
      case WM_SIZING:	/* HANDLE_MSG doesn't seem to handle this one */
***************
*** 874,880 ****
  
      case WM_MOUSEWHEEL:
  	_OnMouseWheel(hwnd, HIWORD(wParam));
! 	break;
  
  	/* Notification for change in SystemParametersInfo() */
      case WM_SETTINGCHANGE:
--- 877,883 ----
  
      case WM_MOUSEWHEEL:
  	_OnMouseWheel(hwnd, HIWORD(wParam));
! 	return 0L;
  
  	/* Notification for change in SystemParametersInfo() */
      case WM_SETTINGCHANGE:
***************
*** 987,999 ****
--- 990,1008 ----
  	    case TCN_SELCHANGE:
  		if (gui_mch_showing_tabline()
  				  && ((LPNMHDR)lParam)->hwndFrom == s_tabhwnd)
+ 		{
  		    send_tabline_event(TabCtrl_GetCurSel(s_tabhwnd) + 1);
+ 		    return 0L;
+ 		}
  		break;
  
  	    case NM_RCLICK:
  		if (gui_mch_showing_tabline()
  			&& ((LPNMHDR)lParam)->hwndFrom == s_tabhwnd)
+ 		{
  		    show_tabline_popup_menu();
+ 		    return 0L;
+ 		}
  		break;
  # endif
  	    default:
***************
*** 1037,1042 ****
--- 1046,1052 ----
  		out_flush();
  		did_menu_tip = TRUE;
  	    }
+ 	    return 0L;
  	}
  	break;
  #endif
***************
*** 1079,1096 ****
      case WM_IME_NOTIFY:
  	if (!_OnImeNotify(hwnd, (DWORD)wParam, (DWORD)lParam))
  	    return MyWindowProc(hwnd, uMsg, wParam, lParam);
! 	break;
      case WM_IME_COMPOSITION:
  	if (!_OnImeComposition(hwnd, wParam, lParam))
  	    return MyWindowProc(hwnd, uMsg, wParam, lParam);
! 	break;
  #endif
  
      default:
  	if (uMsg == msh_msgmousewheel && msh_msgmousewheel != 0)
  	{   /* handle MSH_MOUSEWHEEL messages for Intellimouse */
  	    _OnMouseWheel(hwnd, HIWORD(wParam));
! 	    break;
  	}
  #ifdef MSWIN_FIND_REPLACE
  	else if (uMsg == s_findrep_msg && s_findrep_msg != 0)
--- 1089,1107 ----
      case WM_IME_NOTIFY:
  	if (!_OnImeNotify(hwnd, (DWORD)wParam, (DWORD)lParam))
  	    return MyWindowProc(hwnd, uMsg, wParam, lParam);
! 	return 1L;
! 
      case WM_IME_COMPOSITION:
  	if (!_OnImeComposition(hwnd, wParam, lParam))
  	    return MyWindowProc(hwnd, uMsg, wParam, lParam);
! 	return 1L;
  #endif
  
      default:
  	if (uMsg == msh_msgmousewheel && msh_msgmousewheel != 0)
  	{   /* handle MSH_MOUSEWHEEL messages for Intellimouse */
  	    _OnMouseWheel(hwnd, HIWORD(wParam));
! 	    return 0L;
  	}
  #ifdef MSWIN_FIND_REPLACE
  	else if (uMsg == s_findrep_msg && s_findrep_msg != 0)
*** ../vim-7.3.381/src/version.c	2011-12-14 20:51:19.000000000 +0100
--- src/version.c	2011-12-15 21:48:49.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
  {   /* Add new patch number below this line */
+ /**/
+     382,
  /**/

-- 
Even got a Datapoint 3600(?) with a DD50 connector instead of the
usual DB25...  what a nightmare trying to figure out the pinout
for *that* with no spex...

 /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    ///
