summaryrefslogtreecommitdiff
path: root/libopie2
authorzecke <zecke>2004-11-03 23:04:36 (UTC)
committer zecke <zecke>2004-11-03 23:04:36 (UTC)
commitcd2d50799e087fad5b56df9d7fe9aa572a313e64 (patch) (side-by-side diff)
tree561df7f2fc260c9b4d3c8d9055698201e47939d3 /libopie2
parenta6adcd3869b9c9c7548290ea686bc4e78ed62fc3 (diff)
downloadopie-cd2d50799e087fad5b56df9d7fe9aa572a313e64.zip
opie-cd2d50799e087fad5b56df9d7fe9aa572a313e64.tar.gz
opie-cd2d50799e087fad5b56df9d7fe9aa572a313e64.tar.bz2
-SIMpad crashes on QObject::connect() of the QCopChannel
-Luckily (I'm a cheater) OApplication can emit the signal for us -Event more lucky, qpe and every quicklaunchable application has a OApplication instance... so the signal is almost available everywhere -do not call initButtons from reloadButtonMappings if d->m_buttons exists
Diffstat (limited to 'libopie2') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opiecore/device/odevice.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/libopie2/opiecore/device/odevice.cpp b/libopie2/opiecore/device/odevice.cpp
index 67cae1c..e57cdef 100644
--- a/libopie2/opiecore/device/odevice.cpp
+++ b/libopie2/opiecore/device/odevice.cpp
@@ -623,53 +623,53 @@ uint ODevice::buttonHoldTime() const
{
return d->m_holdtime;
}
/**
* This method return a ODeviceButton for a key code
* or 0 if no special hardware button is available for the device
*
* @return The devicebutton or 0l
* @see ODeviceButton
*/
const ODeviceButton *ODevice::buttonForKeycode ( ushort code )
{
initButtons();
for ( QValueListConstIterator<ODeviceButton> it = d->m_buttons->begin(); it != d->m_buttons->end(); ++it ) {
if ( (*it). keycode() == code )
return &(*it);
}
return 0;
}
void ODevice::reloadButtonMapping()
{
+ if(!d->m_buttons)
initButtons();
if(!d->m_initializedButtonQcop) {
- QCopChannel *chan = new QCopChannel("QPE/System", this, "ODevice button channel");
- connect(chan,SIGNAL(received(const QCString&,const QByteArray&)),
+ connect(qApp,SIGNAL(systemMessageSignal(const QCString&,const QByteArray&)),
this,SLOT(systemMessage(const QCString&,const QByteArray&)));
d->m_initializedButtonQcop = true;
}
Config cfg ( "ButtonSettings" );
for ( uint i = 0; i < d->m_buttons->count(); i++ ) {
ODeviceButton &b = ( *d->m_buttons ) [i];
QString group = "Button" + QString::number ( i );
QCString pch, hch;
QCString pm, hm;
QByteArray pdata, hdata;
if ( cfg. hasGroup ( group )) {
cfg. setGroup ( group );
pch = cfg. readEntry ( "PressedActionChannel" ). latin1();
pm = cfg. readEntry ( "PressedActionMessage" ). latin1();
// pdata = decodeBase64 ( buttonFile. readEntry ( "PressedActionArgs" ));
hch = cfg. readEntry ( "HeldActionChannel" ). latin1();
hm = cfg. readEntry ( "HeldActionMessage" ). latin1();
// hdata = decodeBase64 ( buttonFile. readEntry ( "HeldActionArgs" ));
}