X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=inline;f=src%2Fcommon%2Fsignalproxy.cpp;h=9078f24a36c602aeda94141319c05162040ef938;hb=57d44eafac4d353d1523e93cc7613debc1826e94;hp=411c8dae3a2f6db7ead13637a99f2e2a11245299;hpb=100cfa79242249feff3bc3265787b46d2dc621b0;p=quassel.git diff --git a/src/common/signalproxy.cpp b/src/common/signalproxy.cpp index 411c8dae..9078f24a 100644 --- a/src/common/signalproxy.cpp +++ b/src/common/signalproxy.cpp @@ -951,12 +951,19 @@ QString SignalProxy::methodBaseName(const QMetaMethod &method) { QString methodname = QString(method.signature()).section("(", 0, 0); // determine where we have to chop: + int upperCharPos; if(method.methodType() == QMetaMethod::Slot) { // we take evertyhing from the first uppercase char if it's slot - methodname = methodname.mid(methodname.indexOf(QRegExp("[A-Z]"))); + upperCharPos = methodname.indexOf(QRegExp("[A-Z]")); + if(upperCharPos == -1) + return QString(); + methodname = methodname.mid(upperCharPos); } else { // and if it's a signal we discard everything from the last uppercase char - methodname = methodname.left(methodname.lastIndexOf(QRegExp("[A-Z]"))); + upperCharPos = methodname.lastIndexOf(QRegExp("[A-Z]")); + if(upperCharPos == -1) + return QString(); + methodname = methodname.left(upperCharPos); } methodname[0] = methodname[0].toUpper();