[ROOT] standalone TApplication with QtRoot patch

From: Christophe Delaere (delaere@fynu.ucl.ac.be)
Date: Thu Apr 24 2003 - 17:18:52 MEST


Hi all,

I'm starting to use the patched version of ROOT using Qt on Linux.
ROOT Version   3.03/09

ROOT works very well, and I really appreciate the new features introduced by 
Qt. But I've a problem running a standalone code. Here is the extremely 
simple code I've written for testing purposes:

-----------------------------
#include <iostream>
#include "TApplication.h"
#include "TCanvas.h"

int main(int argc, char** argv)
{
        TApplication ta("test",&argc,argv);
        TCanvas c1("ctest","test canvas");
        while(1) { ta.Run(); }
        return 0;
}
--------------------------------
compilation:
g++ testme.cpp -o testme `root-config --cflags --glibs`

With the standard ROOT, it works well. I can see the canvas and interact with 
the menus. But if I try the modified ROOT version, I get a segfault. Here is 
what gdb tells me: 

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 8192 (LWP 1850)]
0x40a1b307 in TPad::PaintBox(double, double, double, double, char const*) ()
   from /disks/scratch/install/root//lib/libGpad.so
(gdb) bt
#0  0x40a1b307 in TPad::PaintBox(double, double, double, double, char const*)
    () from /disks/scratch/install/root//lib/libGpad.so
#1  0x40a1a835 in TPad::PaintBorder(short, bool) ()
   from /disks/scratch/install/root//lib/libGpad.so
#2  0x40a1afdc in TPad::PaintModified() ()
   from /disks/scratch/install/root//lib/libGpad.so
#3  0x40a01afa in TCanvas::Update() ()
   from /disks/scratch/install/root//lib/libGpad.so
#4  0x410407eb in TQtWidget::exitSizeEvent() ()
   from /disks/scratch/install/root//lib/libQt.so
#5  0x410405bb in TQtWidget::resizeEvent(QResizeEvent*) ()
   from /disks/scratch/install/root//lib/libQt.so
#6  0x412d44c8 in QWidget::event(QEvent*) ()
   from /usr/lib/qt-3.0.5/lib/libqt-mt.so.3
#7  0x4124bc49 in QApplication::internalNotify(QObject*, QEvent*) ()
   from /usr/lib/qt-3.0.5/lib/libqt-mt.so.3
#8  0x4124b4f1 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/qt-3.0.5/lib/libqt-mt.so.3
#9  0x4124c5d4 in QApplication::sendPostedEvents(QObject*, int) ()
   from /usr/lib/qt-3.0.5/lib/libqt-mt.so.3
#10 0x412d3170 in QWidget::show() () from /usr/lib/qt-3.0.5/lib/libqt-mt.so.3
#11 0x412d32c5 in QWidget::show() () from /usr/lib/qt-3.0.5/lib/libqt-mt.so.3
#12 0x41378e2c in QMainWindow::show() ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/qt-3.0.5/lib/libqt-mt.so.3
#13 0x412232fb in QWidget::showNormal() ()
   from /usr/lib/qt-3.0.5/lib/libqt-mt.so.3
#14 0x4103a448 in TQt::RaiseWindow(unsigned long) ()
   from /disks/scratch/install/root//lib/libQt.so
#15 0x41d04524 in TQtCanvasImp::Show() ()
   from /disks/scratch/install/root//lib/libQtGui.so
#16 0x409fd4ab in TCanvas::Constructor(char const*, char const*, int) ()
   from /disks/scratch/install/root//lib/libGpad.so
#17 0x409fd0ab in TCanvas::TCanvas(char const*, char const*, int) ()
   from /disks/scratch/install/root//lib/libGpad.so
#18 0x08048aff in main ()
#19 0x420158d4 in __libc_start_main () from /lib/i686/libc.so.6

Do I forget sth important ?

Thanks,
Christophe.


-- 
+-----------------------------------------------------------\|/---+
| Christophe DELAERE            office: e253               !o o!  |
| UCL - FYNU                    phone : 32-(0)10-473234    ! i !  |
| chemin du cyclotron, 2        fax   : 32-(0)10-452183     `-'   |
| 1348 Louvain-la-Neuve BELGIUM e-mail: delaere@fynu.ucl.ac.be    |
+-----------------------------------------------------------------+



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:11 MET