-rw-r--r-- | x11/libqpe-x11/qpe/qpeapplication.cpp | 4 | ||||
-rw-r--r-- | x11/libqpe-x11/qt/qcopchannel_qws.cpp | 11 |
2 files changed, 11 insertions, 4 deletions
diff --git a/x11/libqpe-x11/qpe/qpeapplication.cpp b/x11/libqpe-x11/qpe/qpeapplication.cpp index 49115d8..c4f8f38 100644 --- a/x11/libqpe-x11/qpe/qpeapplication.cpp +++ b/x11/libqpe-x11/qpe/qpeapplication.cpp @@ -478,50 +478,50 @@ bool QPEApplication::keyboardGrabbed()const { return d->kbgrabber; } int QPEApplication::exec() { /* now send the QCOP stuff gotten from the file */ d->sendQCopQ(); if ( d->keep_running ) { qWarning("going to exec"); int a = QApplication::exec(); qWarning("left"); return a; } { QCopEnvelope e( "QPE/System", "closing(QString)" ); e << d->appName; } qWarning("processing events!"); processEvents(); return 0; } void QPEApplication::internalSetStyle( const QString& ) { } -void QPEApplication::systemMessage( const QCString&, const QByteArray& ) { - +void QPEApplication::systemMessage( const QCString& chan, const QByteArray& ) { + qWarning("QPEApplication::systemMessage( %s )", chan.data() ); } void QPEApplication::pidMessage( const QCString&, const QByteArray& ) { } void QPEApplication::timerEvent( QTimerEvent* e ) { if ( e->timerId() == d->presstimer && d->presswidget ) { // Right pressed postEvent( d->presswidget, new QMouseEvent( QEvent::MouseButtonPress, d->presspos, RightButton, LeftButton ) ); killTimer( d->presstimer ); d->presstimer = 0; } } // InputMethods Hints namespace { static QPtrDict<void>* inputMethodDict = 0; static void createInputMethodDict(){ if ( !inputMethodDict ) inputMethodDict = new QPtrDict<void>; } static QPtrDict<void>* stylusDict = 0; diff --git a/x11/libqpe-x11/qt/qcopchannel_qws.cpp b/x11/libqpe-x11/qt/qcopchannel_qws.cpp index 1cea80c..706756e 100644 --- a/x11/libqpe-x11/qt/qcopchannel_qws.cpp +++ b/x11/libqpe-x11/qt/qcopchannel_qws.cpp @@ -1,72 +1,79 @@ #include "../../ipc/client/ocopclient.h" #include <qcopchannel_qws.h> QList<QCopChannel>* QCopChannel::m_list = 0; QMap<QCString, int> QCopChannel::m_refCount; QCopChannel::QCopChannel( const QCString& channel, QObject* parent, const char* name ) : QObject( parent, name ),m_chan(channel) { if (!m_list ) { m_list = new QList<QCopChannel>; /* only connect once */ connect(OCOPClient::self(), SIGNAL(called(const QCString&, const QCString&, const QByteArray& ) ), this, SLOT(rev(const QCString&, const QCString&, const QByteArray&) ) ); } /* first registration or ref count is 0 for m_chan*/ if (!m_refCount.contains( m_chan ) || !m_refCount[m_chan] ) { + qWarning("adding channel %s", m_chan.data() ); m_refCount[m_chan] = 1; OCOPClient::self()->addChannel( m_chan ); - }else + }else{ + qWarning("reffing up for %s %d", m_chan.data(), m_refCount[m_chan] ); m_refCount[m_chan]++; + } m_list->append(this); } void QCopChannel::receive( const QCString& msg, const QByteArray& ar ) { emit received( msg, ar ); } QCopChannel::~QCopChannel() { if (m_refCount[m_chan] == 1 ) { OCOPClient::self()->delChannel( m_chan ); m_refCount[m_chan] = 0; }else m_refCount[m_chan]--; m_list->remove(this); if (m_list->count() == 0 ) { delete m_list; m_list = 0; } } QCString QCopChannel::channel()const { return m_chan; } -bool QCopChannel::isRegistered( const QCString& chan) {; +bool QCopChannel::isRegistered( const QCString& chan) { + if (m_refCount.contains(chan) ) { + qDebug("Client:locally contains"); + return true; + } return OCOPClient::self()->isRegistered( chan ); } bool QCopChannel::send( const QCString& chan, const QCString& msg ) { QByteArray ar; return send(chan, msg, ar ); } bool QCopChannel::send( const QCString& chan, const QCString& msg, const QByteArray& ar ) { OCOPClient::self()->send( chan, msg, ar ); return true; } bool QCopChannel::sendLocally( const QCString& chann, const QCString& msg, const QByteArray& ar ) { qWarning("Client:sendLocally %s %s", chann.data(), msg.data() ); if (!m_list ) return true; QCopChannel* chan; for ( chan = m_list->first(); chan; chan = m_list->next() ) { if ( chan->channel() == chann ) chan->receive( msg, ar ); } return true; |