Thanks Diego and Konstantin for your valuable inputs. I am now doing qobject_cast for all of them, please check the code snippet below, now it's crashing at tabWid step. It's giving QASSERT failure. The failure is happening in the following file
//qscopedpointer.h at the following line QASSERT(d) inline T *operator->() const { Q_ASSERT(d); //this line it's crashing. return d; } [code] QWidget *wid = qobject_cast<QWidget *>(parent()); CSheet *sheet = qobject _cast<CSheet *>(wid->parent()); QScrollBar *scrollBar = qobject _cast<QScrollBar *>(sheet->parent()); CTabWidget *tabWid = qobject _cast<CTabWidget *>(scrollBar->parent()); // Here it is crashing, QSSERT(d) failure CDataPage *dataPage = qobject _cast<CDataPage *>(tabWid->parent()); MainWindow *mainwin = qobject _cast<MainWindow *>(dataPage->parent()); mainwin->statusBar()->showMessage(tr("A new plot being added!!"),5000); [/code] CTabWidget is a custom class derived from QTabWidget. Please help me getting the mainwindow handle. Thanks for your reply. From: Diego Iastrubni [mailto:diegoi...@gmail.com] Sent: Tuesday, April 24, 2012 5:41 PM To: Sujan Dasmahapatra Cc: interest@qt-project.org Subject: Re: [Interest] type casting 5 levels down no error but not proper On Tue, Apr 24, 2012 at 2:58 PM, Sujan Dasmahapatra <s...@lmwindpower.com> wrote: please check the code snippet below: [code] QWidget *wid = reinterpret_cast<QWidget *>(parent()); CSheet *sheet = reinterpret_cast<CSheet *>(wid->parent()); QScrollBar *scrollBar = reinterpret_cast<QScrollBar *>(sheet->parent()); CTabWidget *tabWid = reinterpret_cast<CTabWidget *>(scrollBar->parent()); CDataPage *dataPage = reinterpret_cast<CDataPage *>(tabWid->parent()); MainWindow *mainwin = reinterpret_cast<MainWindow *>(dataPage->parent()); mainwin->statusBar()->showMessage(tr("A new plot being added!!"),5000); //[I][SIZE=7]Here it is crashing[/SIZE][/I] [/code] You meant [code] MainWindow *mainwin = dynamic_cast<MainWindow>(dataPage->parent()); if (mainwin!=NULL) { // do your thing } [/code] Or use qobject_cast as recommended. This will be faster then dynamic_cast.
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest