From 1c81d25e4f4f53e9f5ab771c32d694fcb1ce29be Mon Sep 17 00:00:00 2001 From: Lev Zelenskiy Date: Tue, 26 Jun 2012 12:07:20 +1000 Subject: Fix crash in audioinput and audiooutput examples. Do not call tr while initializing static objects. Change-Id: Ia75ddd53ae22b0e4179f174da7d933156744e261 Reviewed-by: Dmytro Poplavskiy --- examples/audioinput/audioinput.cpp | 24 ++++++++++++------------ examples/audioinput/audioinput.h | 5 ----- examples/audiooutput/audiooutput.cpp | 28 ++++++++++++++-------------- examples/audiooutput/audiooutput.h | 7 ------- 4 files changed, 26 insertions(+), 38 deletions(-) (limited to 'examples') diff --git a/examples/audioinput/audioinput.cpp b/examples/audioinput/audioinput.cpp index 2d3c5a718..5f16a0077 100644 --- a/examples/audioinput/audioinput.cpp +++ b/examples/audioinput/audioinput.cpp @@ -52,10 +52,10 @@ #include "audioinput.h" -const QString InputTest::PushModeLabel(tr("Enable push mode")); -const QString InputTest::PullModeLabel(tr("Enable pull mode")); -const QString InputTest::SuspendLabel(tr("Suspend recording")); -const QString InputTest::ResumeLabel(tr("Resume recording")); +#define PUSH_MODE_LABEL "Enable push mode" +#define PULL_MODE_LABEL "Enable pull mode" +#define SUSPEND_LABEL "Suspend recording" +#define RESUME_LABEL "Resume recording" const int BufferSize = 4096; @@ -242,12 +242,12 @@ void InputTest::initializeWindow() layout->addWidget(m_volumeSlider); m_modeButton = new QPushButton(this); - m_modeButton->setText(PushModeLabel); + m_modeButton->setText(tr(PUSH_MODE_LABEL)); connect(m_modeButton, SIGNAL(clicked()), SLOT(toggleMode())); layout->addWidget(m_modeButton); m_suspendResumeButton = new QPushButton(this); - m_suspendResumeButton->setText(SuspendLabel); + m_suspendResumeButton->setText(tr(SUSPEND_LABEL)); connect(m_suspendResumeButton, SIGNAL(clicked()), SLOT(toggleSuspend())); layout->addWidget(m_suspendResumeButton); @@ -318,17 +318,17 @@ void InputTest::toggleMode() m_audioInput->stop(); if (m_pullMode) { - m_modeButton->setText(PullModeLabel); + m_modeButton->setText(tr(PULL_MODE_LABEL)); m_input = m_audioInput->start(); connect(m_input, SIGNAL(readyRead()), SLOT(readMore())); m_pullMode = false; } else { - m_modeButton->setText(PushModeLabel); + m_modeButton->setText(tr(PUSH_MODE_LABEL)); m_pullMode = true; m_audioInput->start(m_audioInfo); } - m_suspendResumeButton->setText(SuspendLabel); + m_suspendResumeButton->setText(tr(SUSPEND_LABEL)); } void InputTest::toggleSuspend() @@ -337,15 +337,15 @@ void InputTest::toggleSuspend() if(m_audioInput->state() == QAudio::SuspendedState) { qWarning() << "status: Suspended, resume()"; m_audioInput->resume(); - m_suspendResumeButton->setText(SuspendLabel); + m_suspendResumeButton->setText(tr(SUSPEND_LABEL)); } else if (m_audioInput->state() == QAudio::ActiveState) { qWarning() << "status: Active, suspend()"; m_audioInput->suspend(); - m_suspendResumeButton->setText(ResumeLabel); + m_suspendResumeButton->setText(tr(RESUME_LABEL)); } else if (m_audioInput->state() == QAudio::StoppedState) { qWarning() << "status: Stopped, resume()"; m_audioInput->resume(); - m_suspendResumeButton->setText(SuspendLabel); + m_suspendResumeButton->setText(tr(SUSPEND_LABEL)); } else if (m_audioInput->state() == QAudio::IdleState) { qWarning() << "status: IdleState"; } diff --git a/examples/audioinput/audioinput.h b/examples/audioinput/audioinput.h index 9b38b93fa..3970cca61 100644 --- a/examples/audioinput/audioinput.h +++ b/examples/audioinput/audioinput.h @@ -131,11 +131,6 @@ private: QIODevice *m_input; bool m_pullMode; QByteArray m_buffer; - - static const QString PushModeLabel; - static const QString PullModeLabel; - static const QString SuspendLabel; - static const QString ResumeLabel; }; #endif diff --git a/examples/audiooutput/audiooutput.cpp b/examples/audiooutput/audiooutput.cpp index 9db852d64..64d563a69 100644 --- a/examples/audiooutput/audiooutput.cpp +++ b/examples/audiooutput/audiooutput.cpp @@ -47,11 +47,11 @@ #include #include "audiooutput.h" -const QString AudioTest::PushModeLabel(tr("Enable push mode")); -const QString AudioTest::PullModeLabel(tr("Enable pull mode")); -const QString AudioTest::SuspendLabel(tr("Suspend playback")); -const QString AudioTest::ResumeLabel(tr("Resume playback")); -const QString AudioTest::VolumeLabel(tr("Volume:")); +#define PUSH_MODE_LABEL "Enable push mode" +#define PULL_MODE_LABEL "Enable pull mode" +#define SUSPEND_LABEL "Suspend playback" +#define RESUME_LABEL "Resume playback" +#define VOLUME_LABEL "Volume:" const int DurationSeconds = 1; const int ToneFrequencyHz = 600; @@ -182,18 +182,18 @@ void AudioTest::initializeWindow() layout->addWidget(m_deviceBox); m_modeButton = new QPushButton(this); - m_modeButton->setText(PushModeLabel); + m_modeButton->setText(tr(PUSH_MODE_LABEL)); connect(m_modeButton, SIGNAL(clicked()), SLOT(toggleMode())); layout->addWidget(m_modeButton); m_suspendResumeButton = new QPushButton(this); - m_suspendResumeButton->setText(SuspendLabel); + m_suspendResumeButton->setText(tr(SUSPEND_LABEL)); connect(m_suspendResumeButton, SIGNAL(clicked()), SLOT(toggleSuspendResume())); layout->addWidget(m_suspendResumeButton); QHBoxLayout *volumeBox = new QHBoxLayout; m_volumeLabel = new QLabel; - m_volumeLabel->setText(VolumeLabel); + m_volumeLabel->setText(tr(VOLUME_LABEL)); m_volumeSlider = new QSlider(Qt::Horizontal); m_volumeSlider->setMinimum(0); m_volumeSlider->setMaximum(100); @@ -296,17 +296,17 @@ void AudioTest::toggleMode() m_audioOutput->stop(); if (m_pullMode) { - m_modeButton->setText(PullModeLabel); + m_modeButton->setText(tr(PULL_MODE_LABEL)); m_output = m_audioOutput->start(); m_pullMode = false; m_pullTimer->start(20); } else { - m_modeButton->setText(PushModeLabel); + m_modeButton->setText(tr(PUSH_MODE_LABEL)); m_pullMode = true; m_audioOutput->start(m_generator); } - m_suspendResumeButton->setText(SuspendLabel); + m_suspendResumeButton->setText(tr(SUSPEND_LABEL)); } void AudioTest::toggleSuspendResume() @@ -314,15 +314,15 @@ void AudioTest::toggleSuspendResume() if (m_audioOutput->state() == QAudio::SuspendedState) { qWarning() << "status: Suspended, resume()"; m_audioOutput->resume(); - m_suspendResumeButton->setText(SuspendLabel); + m_suspendResumeButton->setText(tr(SUSPEND_LABEL)); } else if (m_audioOutput->state() == QAudio::ActiveState) { qWarning() << "status: Active, suspend()"; m_audioOutput->suspend(); - m_suspendResumeButton->setText(ResumeLabel); + m_suspendResumeButton->setText(tr(RESUME_LABEL)); } else if (m_audioOutput->state() == QAudio::StoppedState) { qWarning() << "status: Stopped, resume()"; m_audioOutput->resume(); - m_suspendResumeButton->setText(SuspendLabel); + m_suspendResumeButton->setText(tr(SUSPEND_LABEL)); } else if (m_audioOutput->state() == QAudio::IdleState) { qWarning() << "status: IdleState"; } diff --git a/examples/audiooutput/audiooutput.h b/examples/audiooutput/audiooutput.h index fa661b8a2..42cab4028 100644 --- a/examples/audiooutput/audiooutput.h +++ b/examples/audiooutput/audiooutput.h @@ -107,13 +107,6 @@ private: bool m_pullMode; QByteArray m_buffer; - - static const QString PushModeLabel; - static const QString PullModeLabel; - static const QString SuspendLabel; - static const QString ResumeLabel; - static const QString VolumeLabel; - private slots: void notified(); void pullTimerExpired(); -- cgit v1.2.3