Fixed crashes on application exiting.

The trouble has been in the deleting already deleted objects. I remove all code from destructors and modify one member to pointer for assign hem parent.
preferencesAboutTextFull
Aleksei Kanash 13 years ago
parent 65ffaf9f7d
commit d6f500e09d
  1. 5
      src/board/UBBoardPaletteManager.cpp
  2. 24
      src/gui/UBTeacherBarPreviewWidget.cpp
  3. 2
      src/gui/UBTeacherBarPreviewWidget.h
  4. 5
      src/gui/UBTeacherBarWidget.cpp

@ -112,11 +112,6 @@ UBBoardPaletteManager::~UBBoardPaletteManager()
delete mpLibWidget;
mpLibWidget = NULL;
}
if(NULL != mpTeacherBarWidget)
{
delete mpTeacherBarWidget;
mpTeacherBarWidget = NULL;
}
if(NULL != mpCachePropWidget)
{
delete mpCachePropWidget;

@ -161,7 +161,8 @@ UBTeacherBarPreviewWidget::UBTeacherBarPreviewWidget(UBTeacherBarDataMgr* pDataM
// Build the Preview widget
// Session Title
mTitleContainer.setLayout(&mTitleLayout);
mpTitleContainer = new QWidget(this);
mpTitleContainer->setLayout(&mTitleLayout);
mpSessionTitle = new QLabel(this);
mpSessionTitle->setText(tr("Session: "));
mpSessionTitle->setWordWrap(true);
@ -170,23 +171,23 @@ UBTeacherBarPreviewWidget::UBTeacherBarPreviewWidget(UBTeacherBarDataMgr* pDataM
mLayout.addWidget(mpSessionTitle);
// Title
mTitleContainer.setLayout(&mTitleLayout);
mpTitleContainer->setLayout(&mTitleLayout);
mTitleLayout.setContentsMargins(0, 0, 0, 0);
mpTitleLabel = new QLabel(&mTitleContainer);
mpTitleLabel = new QLabel(mpTitleContainer);
mpTitleLabel->setText(tr("Activity"));
mpTitleLabel->setObjectName("UBTeacherBarPreviewSubtitle");
mTitleLayout.addWidget(mpTitleLabel, 0);
mpTitle = new QLabel(&mTitleContainer);
mpTitle = new QLabel(mpTitleContainer);
mpTitle->setObjectName("UBTeacherBarPreviewTitle");
mpTitle->setWordWrap(true);
mpTitle->setAlignment(Qt::AlignLeft);
mTitleLayout.addWidget(mpTitle, 1);
mpPageNbrLabel = new QLabel(tr("Page n° "), &mTitleContainer);
mpPageNbrLabel = new QLabel(tr("Page n° "), mpTitleContainer);
mpPageNbrLabel->setAlignment(Qt::AlignRight);
mpPageNbrLabel->setObjectName("UBTBPreviewSessionTitle");
mTitleLayout.addWidget(mpPageNbrLabel);
mTitleLayout.addWidget(&mTitleSeparator);
mLayout.addWidget(&mTitleContainer);
mLayout.addWidget(mpTitleContainer);
// Content
mpContentContainer = new UBTBPreviewContainer(this);
@ -212,13 +213,6 @@ UBTeacherBarPreviewWidget::UBTeacherBarPreviewWidget(UBTeacherBarDataMgr* pDataM
UBTeacherBarPreviewWidget::~UBTeacherBarPreviewWidget()
{
DELETEPTR(mpEditButton);
DELETEPTR(mpLicenseLabel);
DELETEPTR(mpScheduleLabel);
DELETEPTR(mpPageNbrLabel);
DELETEPTR(mpTitle);
DELETEPTR(mpTitleLabel);
DELETEPTR(mpSessionTitle);
}
void UBTeacherBarPreviewWidget::onActiveSceneChanged()
@ -245,9 +239,9 @@ void UBTeacherBarPreviewWidget::updateFields()
if("" != mpDataMgr->pageTitle()){
mpTitle->setText(mpDataMgr->pageTitle());
mpPageNbrLabel->setText(tr("Page n° %0").arg(UBApplication::boardController->activeSceneIndex()));
mTitleContainer.setVisible(true);
mpTitleContainer->setVisible(true);
}else{
mTitleContainer.setVisible(false);
mpTitleContainer->setVisible(false);
}
// Actions

@ -83,7 +83,7 @@ private:
// Titles
QVBoxLayout mTitleLayout;
UBTBSeparator mTitleSeparator;
QWidget mTitleContainer;
QWidget* mpTitleContainer;
QLabel* mpSessionTitle;
QLabel* mpTitle;
QLabel* mpTitleLabel;

@ -66,11 +66,6 @@ UBTeacherBarWidget::UBTeacherBarWidget(QWidget *parent, const char *name):UBDock
UBTeacherBarWidget::~UBTeacherBarWidget()
{
DELETEPTR(mpDocPreviewWidget);
DELETEPTR(mpDocEditWidget);
DELETEPTR(mpPageEditWidget);
DELETEPTR(mpPreview);
DELETEPTR(mpStackWidget);
}
void UBTeacherBarWidget::onActiveDocumentChanged()

Loading…
Cancel
Save