From cd2d50799e087fad5b56df9d7fe9aa572a313e64 Mon Sep 17 00:00:00 2001 From: zecke Date: Wed, 03 Nov 2004 23:04:36 +0000 Subject: -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 --- (limited to 'libopie2') 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 @@ -644,11 +644,11 @@ const ODeviceButton *ODevice::buttonForKeycode ( ushort code ) void ODevice::reloadButtonMapping() { - initButtons(); + 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; } -- cgit v0.9.0.2