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 -- [email protected] -- 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

Raspunde prin e-mail lui