On Sun, Apr 17, 2011 at 12:53 AM, Kevin Kofler <kevin.kofler(a)chello.at> wrote:
Richard Shaw wrote:
>
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:213:69:
> error: taking address of temporary [-fpermissive]
>
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:319:54:
> error: taking address of temporary [-fpermissive]
>
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:359:54:
> error: taking address of temporary [-fpermissive]
The error here is that:
bool ADM_QconfigMenu::selectConfiguration(QString *selectFile, ConfigMenuType
configurationType)
takes a QString *. It should really be taking a const QString &. Change
QString *selectFile to const QString &selectFile in that function's prototype
and remove the & from the 3 calls to that function.
I think I did it right but I ran into another error. Here's the lines
as changed:
141: bool ADM_QconfigMenu::selectConfiguration(const QString
&selectFile, ConfigMenuType configurationType)
213: selectConfiguration(QFileInfo(configFileName).completeBaseName(),
CONFIG_MENU_USER);
319: configMenu->selectConfiguration(QString(configName), *configType);
359: configMenu->selectConfiguration(QString(configName), *configType);
Did I make the changes correctly?
I'll paste the new errors at the bottom.
That function also compares the result of QComboBox::itemText, which
is a
QString, with selectFile. I have no idea how that works. If you change the type
of selectFile to const QString &, it should do the right thing.
I somewhat understanding what you're saying but I'm not up on C enough
to quite apply your suggested changes to the code.
Thanks,
Richard
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:141:7:
error: prototype for 'bool
ADM_Qt4Factory::ADM_QconfigMenu::selectConfiguration(const QString&,
ConfigMenuType)' does not match any in class
'ADM_Qt4Factory::ADM_QconfigMenu'
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.h:49:8:
error: candidate is: bool
ADM_Qt4Factory::ADM_QconfigMenu::selectConfiguration(QString*,
ConfigMenuType)
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:
In member function 'void
ADM_Qt4Factory::ADM_QconfigMenu::saveAsClicked(bool)':
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:200:31:
warning: comparison between signed and unsigned integer expressions
[-Wsign-compare]
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:213:87:
error: no matching function for call to
'ADM_Qt4Factory::ADM_QconfigMenu::selectConfiguration(QString,
ConfigMenuType)'
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:213:87:
note: candidate is:
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.h:49:8:
note: bool ADM_Qt4Factory::ADM_QconfigMenu::selectConfiguration(QString*,
ConfigMenuType)
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.h:49:8:
note: no known conversion for argument 1 from 'QString' to
'QString*'
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:
In member function 'void
ADM_Qt4Factory::ADM_QconfigMenu::comboboxIndexChanged(int)':
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:226:29:
warning: comparison between signed and unsigned integer expressions
[-Wsign-compare]
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:233:31:
warning: comparison between signed and unsigned integer expressions
[-Wsign-compare]
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:
In member function 'virtual void
ADM_Qt4Factory::diaElemConfigMenu::updateMe()':
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:319:67:
error: no matching function for call to
'ADM_Qt4Factory::ADM_QconfigMenu::selectConfiguration(QString,
ConfigMenuType&)'
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:319:67:
note: candidate is:
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.h:49:8:
note: bool ADM_Qt4Factory::ADM_QconfigMenu::selectConfiguration(QString*,
ConfigMenuType)
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.h:49:8:
note: no known conversion for argument 1 from 'QString' to
'QString*'
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:
In member function 'virtual void
ADM_Qt4Factory::diaElemConfigMenu::finalize()':
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:359:67:
error: no matching function for call to
'ADM_Qt4Factory::ADM_QconfigMenu::selectConfiguration(QString,
ConfigMenuType&)'
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.cpp:359:67:
note: candidate is:
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.h:49:8:
note: bool ADM_Qt4Factory::ADM_QconfigMenu::selectConfiguration(QString*,
ConfigMenuType)
/builddir/build/BUILD/avidemux_2.5.4/avidemux/ADM_UIs/ADM_QT4/src/T_configMenu.h:49:8:
note: no known conversion for argument 1 from 'QString' to
'QString*'