I've attached a patch for your convenience. I expect this patch will probably
apply cleanly and work just fine against whatever version of Rosegarden is in
your repository. It's very limited in scope and impact, and is very unlikely
to carry hidden consequences. It appears to fix the upstream bug 100%.
--
D. Michael McIntyre
Index: src/gui/application/RosegardenMainWindow.cpp
===================================================================
--- src/gui/application/RosegardenMainWindow.cpp (revision 13150)
+++ src/gui/application/RosegardenMainWindow.cpp (revision 13151)
@@ -4138,10 +4138,10 @@
//
RosegardenDocument *newDoc = new RosegardenDocument(this, m_pluginManager);
- QString fname(QFile::encodeName(file));
+// QString fname(QFile::encodeName(file));
- MidiFile midiFile(fname,
- &newDoc->getStudio());
+// MidiFile midiFile(fname, &newDoc->getStudio());
+ MidiFile midiFile(file, &newDoc->getStudio());
StartupLogo::hideIfStillThere();
ProgressDialog *progressDlg = new ProgressDialog(tr("Importing MIDI file..."),
@@ -5384,10 +5384,10 @@
ProgressDialog * progressDlg = new ProgressDialog(tr("Exporting MIDI file..."),
(QWidget*)this);
- QString fname(QFile::encodeName(file));
+// QString fname(QFile::encodeName(file));
- MidiFile midiFile(fname,
- &m_doc->getStudio());
+// MidiFile midiFile(fname, &m_doc->getStudio());
+ MidiFile midiFile(file, &m_doc->getStudio());
connect(&midiFile, SIGNAL(setValue(int)),
progressDlg, SLOT(setValue(int)));
@@ -5422,9 +5422,9 @@
{
ProgressDialog *progressDlg = new ProgressDialog(tr("Exporting Csound score file..."),
(QWidget*)this);
+// CsoundExporter e(this, &m_doc->getComposition(), std::string(QFile::encodeName(file)));
+ CsoundExporter e(this, &m_doc->getComposition(), std::string(file.toLocal8Bit()));
- CsoundExporter e(this, &m_doc->getComposition(), std::string(QFile::encodeName(file)));
-
connect(&e, SIGNAL(setValue(int)),
progressDlg, SLOT(setValue(int)));
@@ -5456,7 +5456,8 @@
ProgressDialog *progressDlg = new ProgressDialog(tr("Exporting Mup file..."),
(QWidget*)this);
- MupExporter e(this, &m_doc->getComposition(), std::string(QFile::encodeName(file)));
+// MupExporter e(this, &m_doc->getComposition(), std::string(QFile::encodeName(file)));
+ MupExporter e(this, &m_doc->getComposition(), std::string(file.toLocal8Bit()));
connect(&e, SIGNAL(setValue(int)),
progressDlg, SLOT(setValue(int)));
@@ -5559,7 +5560,8 @@
ProgressDialog *progressDlg = new ProgressDialog(tr("Exporting LilyPond file..."),
(QWidget*)this);
- LilyPondExporter e(this, m_doc, std::string(QFile::encodeName(file)));
+// LilyPondExporter e(this, m_doc, std::string(QFile::encodeName(file)));
+ LilyPondExporter e(this, m_doc, std::string(file.toLocal8Bit()));
connect(&e, SIGNAL(setValue(int)),
progressDlg, SLOT(setValue(int)));
@@ -5607,7 +5609,8 @@
ProgressDialog *progressDlg = new ProgressDialog(tr("Exporting MusicXML file..."),
(QWidget*)this);
- MusicXmlExporter e(this, m_doc, std::string(QFile::encodeName(file)));
+// MusicXmlExporter e(this, m_doc, std::string(QFile::encodeName(file)));
+ MusicXmlExporter e(this, m_doc, std::string(file.toLocal8Bit()));
connect(&e, SIGNAL(setValue(int)),
progressDlg, SLOT(setValue(int)));