]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/textctrl.cpp
fixing modal dialog quit after nested message box problem
[wxWidgets.git] / src / gtk1 / textctrl.cpp
index c2c52adef72fc7f341bc66c64c0ff68ed52d7a79..547c804242fe26610d2eabcae1ec81c78246a1d0 100644 (file)
@@ -24,6 +24,7 @@
 
 #include "wx/strconv.h"
 #include "wx/fontutil.h"        // for wxNativeFontInfo (GetNativeFontInfo())
 
 #include "wx/strconv.h"
 #include "wx/fontutil.h"        // for wxNativeFontInfo (GetNativeFontInfo())
+#include "wx/evtloop.h"
 
 #include <sys/types.h>
 #include <sys/stat.h>
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -185,7 +186,8 @@ static GtkDrawCallback gs_gtk_text_draw = NULL;
 extern "C" {
 static void wxgtk_text_draw( GtkWidget *widget, GdkRectangle *rect)
 {
 extern "C" {
 static void wxgtk_text_draw( GtkWidget *widget, GdkRectangle *rect)
 {
-    if ( !wxTheApp->IsYielding() )
+    wxEventLoopBase* loop = wxEventLoopBase::GetActive();
+    if ( loop && !loop->IsYielding() )
     {
         wxCHECK_RET( gs_gtk_text_draw != wxgtk_text_draw,
                      _T("infinite recursion in wxgtk_text_draw aborted") );
     {
         wxCHECK_RET( gs_gtk_text_draw != wxgtk_text_draw,
                      _T("infinite recursion in wxgtk_text_draw aborted") );
@@ -223,7 +225,7 @@ void wxTextCtrl::Init()
     m_modified = false;
     SetUpdateFont(false);
     m_text =
     m_modified = false;
     SetUpdateFont(false);
     m_text =
-    m_vScrollbar = (GtkWidget *)NULL;
+    m_vScrollbar = NULL;
 }
 
 wxTextCtrl::~wxTextCtrl()
 }
 
 wxTextCtrl::~wxTextCtrl()
@@ -271,7 +273,7 @@ bool wxTextCtrl::Create( wxWindow *parent,
     if (multi_line)
     {
         // create our control ...
     if (multi_line)
     {
         // create our control ...
-        m_text = gtk_text_new( (GtkAdjustment *) NULL, (GtkAdjustment *) NULL );
+        m_text = gtk_text_new( NULL, NULL );
 
         // ... and put into the upper left hand corner of the table
         bool bHasHScrollbar = false;
 
         // ... and put into the upper left hand corner of the table
         bool bHasHScrollbar = false;
@@ -404,7 +406,7 @@ void wxTextCtrl::CalculateScrollbar()
     }
 }
 
     }
 }
 
-wxString wxTextCtrl::GetValue() const
+wxString wxTextCtrl::DoGetValue() const
 {
     wxCHECK_MSG( m_text != NULL, wxEmptyString, wxT("invalid text ctrl") );
 
 {
     wxCHECK_MSG( m_text != NULL, wxEmptyString, wxT("invalid text ctrl") );
 
@@ -1246,7 +1248,7 @@ void wxTextCtrl::OnInternalIdle()
 
     if (cursor.Ok())
     {
 
     if (cursor.Ok())
     {
-        GdkWindow *window = (GdkWindow*) NULL;
+        GdkWindow *window = NULL;
         if (HasFlag(wxTE_MULTILINE))
             window = GTK_TEXT(m_text)->text_area;
         else
         if (HasFlag(wxTE_MULTILINE))
             window = GTK_TEXT(m_text)->text_area;
         else