]> git.saurik.com Git - wxWidgets.git/blobdiff - src/stc/ScintillaWX.cpp
fixed bug due to missing break in GetColourFromGTKWidget() (part of patch 1160117)
[wxWidgets.git] / src / stc / ScintillaWX.cpp
index bcb1c29b5b50715598ec47db53ca41f26fb09567..565bfabb2c41b0830829a5a0b9bbcd14cdfc5783 100644 (file)
 #include "PlatWX.h"
 #include <wx/textbuf.h>
 
+#ifdef __WXMSW__
+    // GetHwndOf()
+    #include <wx/msw/private.h>
+#endif
+
 //----------------------------------------------------------------------
 // Helper classes
 
@@ -181,6 +186,11 @@ ScintillaWX::ScintillaWX(wxStyledTextCtrl* win) {
     stc   = win;
     wheelRotation = 0;
     Initialise();
+#ifdef __WXMSW__
+    sysCaretBitmap = 0;
+    sysCaretWidth = 0;
+    sysCaretHeight = 0;
+#endif
 }
 
 
@@ -631,6 +641,7 @@ long ScintillaWX::WndProc(unsigned int iMessage, unsigned long wParam, long lPar
             LexerManager::GetInstance()->Load((const char*)lParam);
             break;
 #endif
+
       default:
           return ScintillaBase::WndProc(iMessage, wParam, lParam);
       }
@@ -835,7 +846,7 @@ int  ScintillaWX::DoKeyDown(const wxKeyEvent& evt, bool* consumed)
     bool shift = evt.ShiftDown(),
          ctrl  = evt.ControlDown(),
          alt   = evt.AltDown();
+
     if (ctrl && key >= 1 && key <= 26)
         key += 'A' - 1;
 
@@ -855,6 +866,7 @@ int  ScintillaWX::DoKeyDown(const wxKeyEvent& evt, bool* consumed)
     case WXK_ESCAPE:            key = SCK_ESCAPE;   break;
     case WXK_BACK:              key = SCK_BACK;     break;
     case WXK_TAB:               key = SCK_TAB;      break;
+    case WXK_NUMPAD_ENTER:      // fall through
     case WXK_RETURN:            key = SCK_RETURN;   break;
     case WXK_ADD:               // fall through
     case WXK_NUMPAD_ADD:        key = SCK_ADD;      break;
@@ -978,7 +990,9 @@ void ScintillaWX::DoDragLeave() {
 
 // Force the whole window to be repainted
 void ScintillaWX::FullPaint() {
+#ifndef __WXMAC__
     stc->Refresh(false);
+#endif
     stc->Update();
 }