Commit patch [ 1559950 ] fix mem leaks in wx{Dir|File}Dialog

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41262 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2006-09-17 10:49:11 +00:00
parent d1526a6787
commit 3ab296d9eb
2 changed files with 27 additions and 7 deletions

View File

@@ -212,7 +212,13 @@ void wxDirDialog::SetPath(const wxString& dir)
wxString wxDirDialog::GetPath() const
{
if (!gtk_check_version(2,4,0))
return wxConvFileName->cMB2WX( gtk_file_chooser_get_filename( GTK_FILE_CHOOSER(m_widget) ) );
{
gchar *str = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER(m_widget) );
wxString ret = wxConvFileName->cMB2WX(str);
if (str) g_free(str);
return ret;
}
else
return wxGenericDirDialog::GetPath();
}

View File

@@ -113,7 +113,11 @@ static void gtk_filedialog_update_preview_callback(GtkFileChooser *chooser,
{
#if GTK_CHECK_VERSION(2,4,0)
GtkWidget *preview = GTK_WIDGET(user_data);
wxGtkString filename(gtk_file_chooser_get_preview_filename(chooser));
gchar *str = gtk_file_chooser_get_preview_filename(chooser);
wxGtkString filename(str);
if (str) g_free(str);
if ( !filename )
return;
@@ -305,7 +309,13 @@ void wxFileDialog::DoSetSize(int x, int y, int width, int height, int sizeFlags
wxString wxFileDialog::GetPath() const
{
if (!gtk_check_version(2,4,0))
return wxConvFileName->cMB2WX(gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(m_widget)));
{
gchar *str = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(m_widget));
wxString ret = wxConvFileName->cMB2WX(str);
if (str) g_free(str);
return ret;
}
else
return wxGenericFileDialog::GetPath();
}
@@ -390,8 +400,13 @@ void wxFileDialog::SetDirectory(const wxString& dir)
wxString wxFileDialog::GetDirectory() const
{
if (!gtk_check_version(2,4,0))
return wxConvFileName->cMB2WX(
gtk_file_chooser_get_current_folder( GTK_FILE_CHOOSER(m_widget) ) );
{
gchar *str = gtk_file_chooser_get_current_folder( GTK_FILE_CHOOSER(m_widget) );
wxString ret = wxConvFileName->cMB2WX(str);
if (str) g_free(str);
return ret;
}
else
return wxGenericFileDialog::GetDirectory();
}
@@ -412,8 +427,7 @@ void wxFileDialog::SetFilename(const wxString& name)
wxString wxFileDialog::GetFilename() const
{
if (!gtk_check_version(2,4,0))
return wxFileName(
wxConvFileName->cMB2WX(gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(m_widget))) ).GetFullName();
return wxFileName(GetPath()).GetFullName();
else
return wxGenericFileDialog::GetFilename();
}