qt malloc():smallbin双链表损坏

时间:2013-05-06 08:32:06

标签: qt malloc

在我的Qt小部件中,我有时会收到此错误:

malloc(): smallbin double linked list corrupted

它并不是一直发生,但我认为我已经缩小到它开始的时候。

我有一个QGraphicsView和QGraphicsScene,我在那里绘制点,这些点存储在一个向量中。原因是我需要将这些点传递给另一个库。一旦我绘制了点,我有一个选项,如果我点击一行,我会被提示到另一个窗口,在那里我可以改变一条线的坐标。

ResizeDialog *dialog = new ResizeDialog(this);
dialog->exec();
delete dialog;

上面的代码是我用来打开新QDialog的代码。我知道我是否使用this->close() qt malloc():smallbin双链表损坏没有出现,但后来我丢失了QGraphicsView的实例。原因如果我需要选择添加更多行,我需要保持QGraphicsView窗口打开。

关于如何消除这个问题的任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:0)

使用delete dialog;而不是dialog->deleteLater();。我假设小代码部分位于“this”引用的对象的插槽内,直接删除是麻烦的来源,因为ResizeDialog *dialog = new ResizeDialog(this);会影响父对象this