]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/utilscmn.cpp
fix bug in Borland (bcc32 really hates ?)
[wxWidgets.git] / src / common / utilscmn.cpp
index 2cc90ec0e968d727d48817f5402441fda0447f19..2ba6e858302520c7d1b6df3e7fc196880bb4fc2c 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     29/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Julian Smart
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
@@ -431,10 +431,10 @@ wxWindow* wxFindWindowAtPoint(wxWindow* win, const wxPoint& pt)
       if (frame->GetToolBar())
         extraChildren.Append(frame->GetToolBar());
 
-      wxNode* node = extraChildren.First();
+      wxNode* node = extraChildren.GetFirst();
       while (node)
       {
-          wxWindow* child = (wxWindow*) node->Data();
+          wxWindow* child = (wxWindow*) node->GetData();
           wxWindow* foundWin = wxFindWindowAtPoint(child, pt);
           if (foundWin)
             return foundWin;
@@ -443,14 +443,14 @@ wxWindow* wxFindWindowAtPoint(wxWindow* win, const wxPoint& pt)
     }
     */
 
-    wxNode* node = win->GetChildren().Last();
+    wxWindowList::Node  *node = win->GetChildren().GetLast();
     while (node)
     {
-        wxWindow* child = (wxWindow*) node->Data();
+        wxWindow* child = node->GetData();
         wxWindow* foundWin = wxFindWindowAtPoint(child, pt);
         if (foundWin)
           return foundWin;
-        node = node->Previous();
+        node = node->GetPrevious();
     }
 
     wxPoint pos = win->GetPosition();
@@ -472,14 +472,14 @@ wxWindow* wxGenericFindWindowAtPoint(const wxPoint& pt)
     // Go backwards through the list since windows
     // on top are likely to have been appended most
     // recently.
-    wxNode* node = wxTopLevelWindows.Last();
+    wxWindowList::Node  *node = wxTopLevelWindows.GetLast();
     while (node)
     {
-        wxWindow* win = (wxWindow*) node->Data();
+        wxWindow* win = node->GetData();
         wxWindow* found = wxFindWindowAtPoint(win, pt);
         if (found)
             return found;
-        node = node->Previous();
+        node = node->GetPrevious();
     }
     return NULL;
 }
@@ -872,11 +872,15 @@ wxWindowDisabler::~wxWindowDisabler()
 
 // Yield to other apps/messages and disable user input to all windows except
 // the given one
-bool wxSafeYield(wxWindow *win)
+bool wxSafeYield(wxWindow *win, bool onlyIfNeeded)
 {
     wxWindowDisabler wd(win);
 
-    bool rc = wxYield();
+    bool rc;
+    if (onlyIfNeeded)
+        rc = wxYieldIfNeeded();
+    else
+        rc = wxYield();
 
     return rc;
 }
@@ -900,13 +904,13 @@ bool wxSetDetectableAutoRepeat( bool WXUNUSED(flag) )
 const wxChar *wxGetInstallPrefix()
 {
     wxString prefix;
-    
+
     if ( wxGetEnv(wxT("WXPREFIX"), &prefix) )
         return prefix.c_str();
-    
+
 #ifdef wxINSTALL_PREFIX
     return wxT(wxINSTALL_PREFIX);
-#else 
+#else
     return wxT("");
 #endif
 }
@@ -1065,6 +1069,7 @@ wxString wxGetCurrentDir()
 // wxDoExecuteWithCapture() helper: reads an entire stream into one array
 //
 // returns TRUE if ok, FALSE if error
+#if wxUSE_STREAMS
 static bool ReadAll(wxInputStream *is, wxArrayString& output)
 {
     wxCHECK_MSG( is, FALSE, _T("NULL stream in wxExecute()?") );
@@ -1093,6 +1098,7 @@ static bool ReadAll(wxInputStream *is, wxArrayString& output)
 
     return cont;
 }
+#endif // wxUSE_STREAMS
 
 // this is a private function because it hasn't a clean interface: the first
 // array is passed by reference, the second by pointer - instead we have 2