template <typename T> T* BuildASTVisitor::stackTop() { if( aststack.isEmpty() ) { kDebug(9024) << kBacktrace(); kFatal(9024) << "ERROR: AST stack is empty, this should never happen"; exit(255); } T* ast = dynamic_cast<T*>(aststack.top()); if( !ast ) { kDebug(9024) << kBacktrace(); kFatal(9024) << "ERROR: AST stack is screwed, doing a hard exit" << aststack.top()->type(); exit(255); } return ast; }
/** * Sets up a stereotype. * * @param name The name of this UMLStereotype. * @param id The unique id given to this UMLStereotype. */ UMLStereotype::UMLStereotype(const QString &name, Uml::IDType id /* = Uml::id_None */) : UMLObject( name, id ) { m_BaseType = Uml::ot_Stereotype; UMLStereotype * existing = UMLApp::app()->document()->findStereotype(name); if (existing) { uError() << "UMLStereotype constructor: " << name << " already exists" << kBacktrace(25) << endl; } m_refCount = 0; }
char *VncClientThread::passwdHandler(rfbClient *cl) { kDebug(5011) << "password request" << kBacktrace(); VncClientThread *t = static_cast<VncClientThread*>(rfbClientGetClientData(cl, 0)); Q_ASSERT(t); t->m_passwordError = true; t->passwordRequest(); return strdup(t->password().toLocal8Bit()); }
void TrashProtocol::get( const KUrl& url ) { INIT_IMPL; kDebug() << "get() : " << url; if ( !url.isValid() ) { kDebug() << kBacktrace(); error( KIO::ERR_SLAVE_DEFINED, i18n( "Malformed URL %1", url.url() ) ); return; } if ( url.path().length() <= 1 ) { error( KIO::ERR_IS_DIRECTORY, url.prettyUrl() ); return; } int trashId; QString fileId; QString relativePath; bool ok = TrashImpl::parseURL( url, trashId, fileId, relativePath ); if ( !ok ) { error( KIO::ERR_SLAVE_DEFINED, i18n( "Malformed URL %1", url.prettyUrl() ) ); return; } const QString physicalPath = impl.physicalPath( trashId, fileId, relativePath ); if ( physicalPath.isEmpty() ) { error( impl.lastErrorCode(), impl.lastErrorMessage() ); return; } // Usually we run jobs in TrashImpl (for e.g. future kdedmodule) // But for this one we wouldn't use DCOP for every bit of data... KUrl fileURL; fileURL.setPath( physicalPath ); KIO::Job* job = KIO::get( fileURL, KIO::NoReload, KIO::HideProgressInfo ); connect( job, SIGNAL( data( KIO::Job*, const QByteArray& ) ), this, SLOT( slotData( KIO::Job*, const QByteArray& ) ) ); connect( job, SIGNAL( mimetype( KIO::Job*, const QString& ) ), this, SLOT( slotMimetype( KIO::Job*, const QString& ) ) ); connect( job, SIGNAL( result(KJob*) ), this, SLOT( jobFinished(KJob*) ) ); enterLoop(); }
Plugin * PluginManager::loadPlugin( const QString &_pluginId, PluginLoadMode mode /* = LoadSync */ ) { QString pluginId = _pluginId; // Try to find legacy code // FIXME: Find any cases causing this, remove them, and remove this too - Richard if ( pluginId.endsWith( QLatin1String( ".desktop" ) ) ) { kWarning() << "Trying to use old-style API!" << endl << kBacktrace(); pluginId = pluginId.remove( QRegExp( QLatin1String( ".desktop$" ) ) ); } if ( mode == LoadSync ) { return loadPluginInternal( pluginId ); } else { _kpmp->pluginsToLoad.push( pluginId ); QTimer::singleShot( 0, this, SLOT( slotLoadNextPlugin() ) ); return 0L; } }