]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/docview.cpp
added wxUSE_IMAGE; added write-only wxXPMHandler
[wxWidgets.git] / src / common / docview.cpp
index b745d1fbb1635b499e4f18488653c4bd86e79990..549eb66f48aa0596e6f130a1fe94da3e874df9a5 100644 (file)
@@ -248,7 +248,7 @@ bool wxDocument::SaveAs()
 
     wxString tmp = wxFileSelector(_("Save as"),
             docTemplate->GetDirectory(),
-            GetFilename(),
+            wxFileNameFromPath(GetFilename()),
             docTemplate->GetDefaultExtension(),
             docTemplate->GetFileFilter(),
             wxSAVE | wxOVERWRITE_PROMPT,
@@ -2162,11 +2162,6 @@ void wxFileHistory::RemoveFileFromHistory(int i)
     wxCHECK_RET( i < m_fileHistoryN,
                  wxT("invalid index in wxFileHistory::RemoveFileFromHistory") );
 
-    wxNode* node = m_fileMenus.First();
-    while ( node )
-    {
-        wxMenu* menu = (wxMenu*) node->Data();
-
         // delete the element from the array (could use memmove() too...)
         delete [] m_fileHistory[i];
 
@@ -2176,6 +2171,12 @@ void wxFileHistory::RemoveFileFromHistory(int i)
             m_fileHistory[j] = m_fileHistory[j + 1];
         }
 
+    wxNode* node = m_fileMenus.First();
+    while ( node )
+    {
+        wxMenu* menu = (wxMenu*) node->Data();
+
+
         // shuffle filenames up
         wxString buf;
         for ( j = i; j < m_fileHistoryN - 1; j++ )
@@ -2187,6 +2188,7 @@ void wxFileHistory::RemoveFileFromHistory(int i)
         node = node->Next();
 
         // delete the last menu item which is unused now
+        if (menu->FindItem(wxID_FILE1 + m_fileHistoryN - 1))
         menu->Delete(wxID_FILE1 + m_fileHistoryN - 1);
 
         // delete the last separator too if no more files are left