PDA

View Full Version : Application gets aborted runtime



Yayati.Ekbote
2nd April 2010, 12:13
Hi guys,
I have created a file browser application using QListView, QDir and QFileInfo classes. I created my own stack structure to manipulate paths manually.
I wrote the following code-

QDir dir("/media");
FileBrowser::FileBrowser(QWidget *parent, const char *name,WFlags fl):
FileBrowserForm(parent,name,fl)
{
if(dir.exists(),true)
{
#ifdef debugMsg
printf("Directory exists");
#endif
if(dir.isReadable())
{
#ifdef debugMsg
printf("\n%s",(const char*)dir.path());
#endif
const QFileInfoList *dirList = dir.entryInfoList();
QFileInfoListIterator it( *dirList ); // create list iterator
QFileInfo *fi;
MyListView->clear();
while((fi=it.current()))
{
if(fi->permission(777))
{
QListViewItem *dirItem=new QListViewItem(MyListView);
dirItem->setText(0,(const char*)(fi->baseName()));
MyListView->insertItem(dirItem);
}
++it;
}//end of while loop
}//is Readable
}//if exists
connect(MyListView,SIGNAL(doubleClicked(QListVIewI tem*)),this,SLOT(setDir(QListVIewItem*)));
}

void FileBrowser::setDir(QListVIewItem *item)
{
QString actPath=dir.path()+"/"+item->text(0);
#ifdef debugMsg
printf("\nConverted path: %s",(const char*)actPath);
#endif
dir.setPath(actPath);
if(dir.exists(),true)
{
#ifdef debugMsg
printf("Directory exists");
#endif
TextLabel->setText(dir.dirName());
#ifdef debugMsg
printf("\n%s",(const char*)dir.path());
#endif
const QFileInfoList *dirList = dir.entryInfoList();
QFileInfoListIterator it( *dirList ); // create list iterator
QFileInfo *fi;
push(dir.path());
MyListView->clear();
while((fi=it.current()))
{
if(fi->permission(777))
{
QListViewItem *dirItem=new QListViewItem(MyListView);
dirItem->setText(0,fi->baseName());
MyListView->insertItem(dirItem);
}
++it;
}//end of for loop
}//end of readability check

}

And some further code...

Though the code compiles fine but It gives me following runtime errors-
[root@localhost Browser1]# ./run-filebrowser
Using display 0
Warning: QSocket::writeBlock: Socket is not open
/media
/media 0
Directory exists
/media
Converted path: /media/MANGESH
Directory exists
/media/MANGESH
/media/MANGESH 1
Converted path: /media/MANGESH/
Directory exists
/media/MANGESH
/media/MANGESH 2
Converted path: /media/MANGESH/Code-backup
Directory exists
/media/MANGESH/Code-backup
/media/MANGESH/Code-backup 3
./run-filebrowser: line 17: 4848 Aborted ../../../bin/filebrowser -qws
[root@localhost Browser1]#

Why does this application gets aborted??