[Kde-bindings] Crash in qtruby4 (svn) using custom C++ classes

Stefano Crocco stefano.crocco at alice.it
Fri Jun 20 13:45:18 UTC 2008


On Friday 20 June 2008, Arno Rehn wrote:
> I get the same error, same gcc and ld version, ruby 1.8.6_p114 and Qt
> 4.4.0. You can set Qt.debug_level = Qt::DebugLevel::Extensive just before
> the call to the function that returns a string to get more information.
> I'll take a look into this, thanks for the report.

I did what you suggested. This is the result:
doing string_test         
classname    == QWidget   
:: method == stringTest   
-> methodIds == []        
candidate list:           
Possible prototypes:      
        QRegion QWidget::mask() const
        void QWidget::showNormal()   
        bool QWidget::restoreGeometry(const QByteArray&)
        QRect QWidget::normalGeometry() const           
        static QWidget* QWidget::mouseGrabber()         
        void QWidget::~QWidget()                        
        void QWidget::showFullScreen()                  
        void QWidget::setMinimumWidth(int)              
        void QWidget::dragEnterEvent(QDragEnterEvent*)  
        void QWidget::render(QPaintDevice*, const QPoint&)
        void QWidget::render(QPainter*, const QPoint&)    
        void QWidget::setParent(QWidget*)                 
        int QWidget::devType() const                      
        QWidget* QWidget::childAt(int, int) const         
        bool QWidget::autoFillBackground() const          
        QString QWidget::windowIconText() const           
        QSize QWidget::sizeIncrement() const              
        void QWidget::setMaximumSize(const QSize&)        
        void QWidget::setGeometry(int, int, int, int)     
        void QWidget::setMask(const QBitmap&)             
        void QWidget::setMask(const QRegion&)             
        void QWidget::moveEvent(QMoveEvent*)              
        QLocale QWidget::locale() const                   
        void QWidget::setStyle(QStyle*)                   
        QPoint QWidget::pos() const                       
        bool QWidget::isVisible() const                   
        void QWidget::enabledChange(bool)                 
        void QWidget::setAcceptDrops(bool)                
        QSize QWidget::baseSize() const                   
        void QWidget::setShortcutAutoRepeat(int)          
        QPoint QWidget::mapToParent(const QPoint&) const                                                                                                                                                   
        QPoint QWidget::mapFromParent(const QPoint&) const                                                                                                                                                 
        void QWidget::keyReleaseEvent(QKeyEvent*)                                                                                                                                                          
        void QWidget::setFocusProxy(QWidget*)                                                                                                                                                              
        QPoint QWidget::mapToGlobal(const QPoint&) const                                                                                                                                                   
        QWidget* QWidget::focusProxy() const                                                                                                                                                               
        QPoint QWidget::mapFromGlobal(const QPoint&) const                                                                                                                                                 
        void QWidget::setWindowFlags(Qt::WindowFlags)                                                                                                                                                      
        void QWidget::setUpdatesEnabled(bool)                                                                                                                                                              
        void QWidget::repaint(int, int, int, int)                                                                                                                                                          
        int QWidget::grabShortcut(const QKeySequence&)                                                                                                                                                     
        QString QWidget::accessibleDescription() const                                                                                                                                                     
        QWidget* QWidget::QWidget()                                                                                                                                                                        
        void QWidget::unsetLayoutDirection()                                                                                                                                                               
        bool QWidget::isLeftToRight() const                                                                                                                                                                
        void QWidget::move(int, int)                                                                                                                                                                       
        void QWidget::setFixedSize(const QSize&)                                                                                                                                                           
        void QWidget::mouseReleaseEvent(QMouseEvent*)                                                                                                                                                      
        Qt::WindowModality QWidget::windowModality() const                                                                                                                                                 
        void QWidget::unsetLocale()                                                                                                                                                                        
        static QWidget* QWidget::keyboardGrabber()                                                                                                                                                         
        int QWidget::minimumWidth() const                                                                                                                                                                  
        const QPalette& QWidget::palette() const                                                                                                                                                           
        void QWidget::setLayout(QLayout*)                                                                                                                                                                  
        void QWidget::insertActions(QAction*, QList<QAction*>)                                                                                                                                             
        Qt::WindowFlags QWidget::windowFlags() const                                                                                                                                                       
        int QWidget::width() const                                                                                                                                                                         
        void QWidget::unsetCursor()                                                                                                                                                                        
        WId QWidget::winId() const                                                                                                                                                                         
        QWidget* QWidget::focusWidget() const                                                                                                                                                              
        QSize QWidget::minimumSizeHint() const                                                                                                                                                             
        QRect QWidget::childrenRect() const                                                                                                                                                                
        QWidget* QWidget::window() const                                                                                                                                                                   
        void QWidget::adjustSize()                                                                                                                                                                         
        void QWidget::setPalette(const QPalette&)                                                                                                                                                          
        bool QWidget::isAncestorOf(const QWidget*) const                                                                                                                                                   
        void QWidget::setMaximumSize(int, int)                                                                                                                                                             
        void QWidget::createWinId()                                                                                                                                                                        
        QSize QWidget::frameSize() const                                                                                                                                                                   
        void QWidget::setFixedWidth(int)                                                                                                                                                                   
        bool QWidget::isWindow() const                                                                                                                                                                     
        void QWidget::inputMethodEvent(QInputMethodEvent*)                                                                                                                                                 
        void QWidget::setFixedSize(int, int)                                                                                                                                                               
        bool QWidget::isEnabled() const                                                                                                                                                                    
        QWidget* QWidget::QWidget(QWidget*, Qt::WindowFlags)                                                                                                                                               
        void QWidget::setFocusPolicy(Qt::FocusPolicy)                                                                                                                                                      
        void QWidget::repaint()                                                                                                                                                                            
        void QWidget::mouseDoubleClickEvent(QMouseEvent*)                                                                                                                                                  
        Qt::WindowType QWidget::windowType() const                                                                                                                                                         
        void QWidget::setEnabled(bool)                                                                                                                                                                     
        void QWidget::leaveEvent(QEvent*)                                                                                                                                                                  
        QSize QWidget::size() const                                                                                                                                                                        
        void QWidget::destroy(bool)                                                                                                                                                                        
        QPoint QWidget::mapTo(QWidget*, const QPoint&) const                                                                                                                                               
        void QWidget::move(const QPoint&)                                                                                                                                                                  
        void QWidget::ensurePolished() const                                                                                                                                                               
        void QWidget::setAccessibleDescription(const QString&)                                                                                                                                             
        void QWidget::dropEvent(QDropEvent*)                                                                                                                                                               
        enum QWidget::DrawChildren                                                                                                                                                                         
        void QWidget::update(const QRegion&)                                                                                                                                                               
        void QWidget::update(const QRect&)                                                                                                                                                                 
        void QWidget::render(QPainter*, const QPoint&, const QRegion&)                                                                                                                                     
        void QWidget::render(QPaintDevice*, const QPoint&, const QRegion&)                                                                                                                                 
        void QWidget::repaint(const QRect&)                                                                                                                                                                
        void QWidget::repaint(const QRegion&)                                                                                                                                                              
        void QWidget::setForegroundRole(QPalette::ColorRole)                                                                                                                                               
        void QWidget::updateGeometry()                                                                                                                                                                     
        void QWidget::update(int, int, int, int)                                                                                                                                                           
        QString QWidget::styleSheet() const                                                                                                                                                                
        void QWidget::grabMouse(const QCursor&)                                                                                                                                                            
        const QMetaObject* QWidget::metaObject() const                                                                                                                                                     
        const QRect& QWidget::geometry() const                                                                                                                                                             
        enum QWidget::IgnoreMask                                                                                                                                                                           
        int QWidget::heightForWidth(int) const                                                                                                                                                             
        QWidget* QWidget::QWidget(QWidget*)                                                                                                                                                                
        void QWidget::resize(const QSize&)                                                                                                                                                                 
        void QWidget::create()                                                                                                                                                                             
        void QWidget::keyPressEvent(QKeyEvent*)                                                                                                                                                            
        QWidget* QWidget::nextInFocusChain() const                                                                                                                                                         
        bool QWidget::isEnabledTo(QWidget*) const                                                                                                                                                          
        QVariant QWidget::inputMethodQuery(Qt::InputMethodQuery) const                                                                                                                                     
        void QWidget::overrideWindowState(Qt::WindowStates)                                                                                                                                                
        void QWidget::setWindowModality(Qt::WindowModality)                                                                                                                                                
        void QWidget::setShortcutEnabled(int, bool)                                                                                                                                                        
        Qt::ContextMenuPolicy QWidget::contextMenuPolicy() const                                                                                                                                           
        void QWidget::setSizeIncrement(int, int)                                                                                                                                                           
        bool QWidget::hasFocus() const                                                                                                                                                                     
        static QString QWidget::tr(const char*)                                                                                                                                                            
        void QWidget::setWindowFilePath(const QString&)                                                                                                                                                    
        void QWidget::setShortcutAutoRepeat(int, bool)                                                                                                                                                     
        void QWidget::grabKeyboard()                                                                                                                                                                       
        void QWidget::paintEvent(QPaintEvent*)                                                                                                                                                             
        void QWidget::setMinimumSize(int, int)                                                                                                                                                             
        bool QWidget::updatesEnabled() const                                                                                                                                                               
        void QWidget::setMaximumWidth(int)                                                                                                                                                                 
        void QWidget::mouseMoveEvent(QMouseEvent*)                                                                                                                                                         
        void QWidget::resetInputContext()                                                                                                                                                                  
        QString QWidget::statusTip() const                                                                                                                                                                 
        void QWidget::setWindowState(Qt::WindowStates)                                                                                                                                                     
        void QWidget::setSizePolicy(QSizePolicy)                                                                                                                                                           
        void QWidget::setShown(bool)                                                                                                                                                                       
        QCursor QWidget::cursor() const                                                                                                                                                                    
        void QWidget::contextMenuEvent(QContextMenuEvent*)                                                                                                                                                 
        QInputContext* QWidget::inputContext()                                                                                                                                                             
        void QWidget::activateWindow()                                                                                                                                                                     
        void QWidget::lower()                                                                                                                                                                              
        void QWidget::create(WId, bool, bool)                                                                                                                                                              
        void QWidget::setBackgroundRole(QPalette::ColorRole)                                                                                                                                               
        void QWidget::setWindowTitle(const QString&)                                                                                                                                                       
        QLayout* QWidget::layout() const                                                                                                                                                                   
        QPalette::ColorRole QWidget::backgroundRole() const                                                                                                                                                
        int QWidget::height() const                                                                                                                                                                        
        QWidget* QWidget::nativeParentWidget() const                                                                                                                                                       
        void QWidget::dragLeaveEvent(QDragLeaveEvent*)                                                                                                                                                     
        void QWidget::setMaximumHeight(int)                                                                                                                                                                
        const QFont& QWidget::font() const                                                                                                                                                                 
        int QWidget::maximumHeight() const                                                                                                                                                                 
        void QWidget::setParent(QWidget*, Qt::WindowFlags)                                                                                                                                                 
        void QWidget::update()                                                                                                                                                                             
        void QWidget::setAttribute(Qt::WidgetAttribute, bool)                                                                                                                                              
        int QWidget::maximumWidth() const                                                                                                                                                                  
        void QWidget::setCursor(const QCursor&)                                                                                                                                                            
        QIcon QWidget::windowIcon() const                                                                                                                                                                  
        void QWidget::showEvent(QShowEvent*)                                                                                                                                                               
        bool QWidget::close()                                                                                                                                                                              
        void QWidget::updateMicroFocus()                                                                                                                                                                   
        void QWidget::showMinimized()                                                                                                                                                                      
        void QWidget::setWindowIcon(const QIcon&)                                                                                                                                                          
        bool QWidget::focusNextPrevChild(bool)                                                                                                                                                             
        Qt::LayoutDirection QWidget::layoutDirection() const                                                                                                                                               
        bool QWidget::underMouse() const                                                                                                                                                                   
        static QString QWidget::tr(const char*, const char*)                                                                                                                                               
        static void QWidget::setTabOrder(QWidget*, QWidget*)                                                                                                                                               
        int QWidget::grabShortcut(const QKeySequence&, Qt::ShortcutContext)                                                                                                                                
        void QWidget::overrideWindowFlags(Qt::WindowFlags)                                                                                                                                                 
        void QWidget::scroll(int, int, const QRect&)                                                                                                                                                       
        qreal QWidget::windowOpacity() const                                                                                                                                                               
        void QWidget::setWindowSurface(QWindowSurface*)                                                                                                                                                    
        WId QWidget::internalWinId() const                                                                                                                                                                 
        void QWidget::clearFocus()                                                                                                                                                                         
        void QWidget::setAutoFillBackground(bool)                                                                                                                                                          
        void QWidget::setAttribute(Qt::WidgetAttribute)                                                                                                                                                    
        void QWidget::setContextMenuPolicy(Qt::ContextMenuPolicy)                                                                                                                                          
        QSizePolicy QWidget::sizePolicy() const                                                                                                                                                            
        void QWidget::create(WId, bool)                                                                                                                                                                    
        QPaintEngine* QWidget::paintEngine() const                                                                                                                                                         
        QList<QAction*> QWidget::actions() const                                                                                                                                                           
        void QWidget::setBaseSize(const QSize&)                                                                                                                                                            
        void QWidget::setLayoutDirection(Qt::LayoutDirection)                                                                                                                                              
        QWidget* QWidget::topLevelWidget() const                                                                                                                                                           
        void QWidget::setWindowIconText(const QString&)                                                                                                                                                    
        void QWidget::destroy(bool, bool)                                                                                                                                                                  
        QSize QWidget::maximumSize() const                                                                                                                                                                 
        void QWidget::setSizeIncrement(const QSize&)                                                                                                                                                       
        QString QWidget::accessibleName() const                                                                                                                                                            
        QByteArray QWidget::saveGeometry() const                                                                                                                                                           
        bool QWidget::isTopLevel() const                                                                                                                                                                   
        int QWidget::minimumHeight() const                                                                                                                                                                 
        void QWidget::setWindowRole(const QString&)                                                                                                                                                        
        QPoint QWidget::mapFrom(QWidget*, const QPoint&) const                                                                                                                                             
        bool QWidget::isActiveWindow() const                                                                                                                                                               
        bool QWidget::isHidden() const                                                                                                                                                                     
        QPalette::ColorRole QWidget::foregroundRole() const                                                                                                                                                
        int QWidget::metric(QPaintDevice::PaintDeviceMetric) const                                                                                                                                         
        void QWidget::styleChange(QStyle&)                                                                                                                                                                 
        void QWidget::show()                                                                                                                                                                               
        void QWidget::setContentsMargins(int, int, int, int)                                                                                                                                               
        void QWidget::setHidden(bool)                                                                                                                                                                      
        void QWidget::mousePressEvent(QMouseEvent*)                                                                                                                                                        
        void QWidget::setFocus()                                                                                                                                                                           
        bool QWidget::isEnabledToTLW() const                                                                                                                                                               
        void QWidget::render(QPainter*)                                                                                                                                                                    
        void QWidget::render(QPaintDevice*)                                                                                                                                                                
        void QWidget::setFocus(Qt::FocusReason)                                                                                                                                                            
        void QWidget::setShortcutEnabled(int)                                                                                                                                                              
        void QWidget::setToolTip(const QString&)                                                                                                                                                           
        void QWidget::languageChange()                                                                                                                                                                     
        void QWidget::addActions(QList<QAction*>)                                                                                                                                                          
        void QWidget::focusOutEvent(QFocusEvent*)                                                                                                                                                          
        void QWidget::setSizePolicy(QSizePolicy::Policy, QSizePolicy::Policy)                                                                                                                              
        void QWidget::raise()                                                                                                                                                                              
        QWidget* QWidget::parentWidget() const                                                                                                                                                             
        QString QWidget::whatsThis() const                                                                                                                                                                 
        QString QWidget::toolTip() const                                                                                                                                                                   
        bool QWidget::testAttribute(Qt::WidgetAttribute) const                                                                                                                                             
        QSize QWidget::sizeHint() const                                                                                                                                                                    
        void QWidget::showMaximized()                                                                                                                                                                      
        void QWidget::resizeEvent(QResizeEvent*)                                                                                                                                                           
        bool QWidget::acceptDrops() const                                                                                                                                                                  
        void QWidget::setFont(const QFont&)                                                                                                                                                                
        void QWidget::setStyleSheet(const QString&)                                                                                                                                                        
        void QWidget::setBaseSize(int, int)                                                                                                                                                                
        QFontMetrics QWidget::fontMetrics() const                                                                                                                                                          
        void QWidget::getContentsMargins(int*, int*, int*, int*) const                                                                                                                                     
        void QWidget::setLocale(const QLocale&)                                                                                                                                                            
        void QWidget::setWindowOpacity(qreal)                                                                                                                                                              
        void QWidget::setVisible(bool)                                                                                                                                                                     
        void QWidget::setMouseTracking(bool)                                                                                                                                                               
        void QWidget::releaseKeyboard()                                                                                                                                                                    
        QString QWidget::windowTitle() const                                                                                                                                                               
        void QWidget::clearMask()                                                                                                                                                                          
        QWidget* QWidget::childAt(const QPoint&) const                                                                                                                                                     
        bool QWidget::isModal() const                                                                                                                                                                      
        bool QWidget::isFullScreen() const                                                                                                                                                                 
        QRect QWidget::rect() const                                                                                                                                                                        
        void QWidget::stackUnder(QWidget*)                                                                                                                                                                 
        void QWidget::setAccessibleName(const QString&)                                                                                                                                                    
        void QWidget::setWindowModified(bool)                                                                                                                                                              
        void QWidget::changeEvent(QEvent*)                                                                                                                                                                 
        void QWidget::hideEvent(QHideEvent*)                                                                                                                                                               
        QRegion QWidget::childrenRegion() const                                                                                                                                                            
        void QWidget::customContextMenuRequested(const QPoint&)                                                                                                                                            
        void QWidget::releaseShortcut(int)                                                                                                                                                                 
        void QWidget::wheelEvent(QWheelEvent*)                                                                                                                                                             
        WId QWidget::effectiveWinId() const                                                                                                                                                                
        void QWidget::dragMoveEvent(QDragMoveEvent*)                                                                                                                                                       
        QWindowSurface* QWidget::windowSurface() const                                                                                                                                                     
        void QWidget::render(QPaintDevice*, const QPoint&, const QRegion&, QWidget::RenderFlags)                                                                                                           
        void QWidget::render(QPainter*, const QPoint&, const QRegion&, QWidget::RenderFlags)                                                                                                               
        enum QWidget::DrawWindowBackground                                                                                                                                                                 
        bool QWidget::hasMouseTracking() const                                                                                                                                                             
        int QWidget::qt_metacall(QMetaObject::Call, int, void**)                                                                                                                                           
        QString QWidget::windowRole() const                                                                                                                                                                
        void QWidget::windowActivationChange(bool)                                                                                                                                                         
        void QWidget::enterEvent(QEvent*)                                                                                                                                                                  
        Qt::FocusPolicy QWidget::focusPolicy() const                                                                                                                                                       
        void QWidget::actionEvent(QActionEvent*)                                                                                                                                                           
        int QWidget::x() const                                                                                                                                                                             
        void QWidget::setInputContext(QInputContext*)                                                                                                                                                      
        int QWidget::y() const                                                                                                                                                                             
        void QWidget::setMinimumHeight(int)                                                                                                                                                                
        void QWidget::addAction(QAction*)                                                                                                                                                                  
        void QWidget::hide()                                                                                                                                                                               
        void QWidget::setStatusTip(const QString&)                                                                                                                                                         
        bool QWidget::isWindowModified() const                                                                                                                                                             
        void QWidget::grabMouse()                                                                                                                                                                          
        void QWidget::setFixedHeight(int)
        void QWidget::closeEvent(QCloseEvent*)
        void QWidget::fontChange(const QFont&)
        bool QWidget::isMaximized() const
        QRect QWidget::contentsRect() const
        QRegion QWidget::visibleRegion() const
        void QWidget::setDisabled(bool)
        bool QWidget::focusPreviousChild()
        void QWidget::insertAction(QAction*, QAction*)
        void QWidget::removeAction(QAction*)
        bool QWidget::isMinimized() const
        QString QWidget::windowFilePath() const
        QSize QWidget::minimumSize() const
        void QWidget::setMinimumSize(const QSize&)
        void QWidget::scroll(int, int)
        void QWidget::setWhatsThis(const QString&)
        void QWidget::resize(int, int)
        void QWidget::focusInEvent(QFocusEvent*)
        bool QWidget::isVisibleTo(QWidget*) const
        void QWidget::paletteChange(const QPalette&)
        void QWidget::create(WId)
        void QWidget::setGeometry(const QRect&)
        static QWidget* QWidget::find(WId)
        bool QWidget::event(QEvent*)
        void QWidget::destroy()
        QRect QWidget::frameGeometry() const
        QFontInfo QWidget::fontInfo() const
        bool QWidget::isRightToLeft() const
        Qt::WindowStates QWidget::windowState() const
        QStyle* QWidget::style() const
        bool QWidget::focusNextChild()
        void QWidget::releaseMouse()
try.rb:12: [BUG] Segmentation fault

Stefano



More information about the Kde-bindings mailing list