diff --git a/TODO b/TODO index 2dbe878..efddbf5 100644 --- a/TODO +++ b/TODO @@ -2,5 +2,4 @@ - Implement light multi-sampling (mainly for skydome). - Implement scaling and scrolling on previews. - Water and terrain LOD moves with the camera, fix it like in the wanderer. -- Find the random segfault at start (in PreviewTerrainColor::getColor). - Restore render progress. diff --git a/gui_qt/baseform.cpp b/gui_qt/baseform.cpp index 9dc8e57..bfb3b20 100644 --- a/gui_qt/baseform.cpp +++ b/gui_qt/baseform.cpp @@ -151,7 +151,8 @@ void BaseForm::addPreview(Preview* preview, QString label) { previews->layout()->addWidget(new QLabel(label, previews)); previews->layout()->addWidget(preview); - + + preview->start(); preview->setObjectName("_form_preview_"); } diff --git a/gui_qt/dialognoise.cpp b/gui_qt/dialognoise.cpp index 3903f97..e510f94 100644 --- a/gui_qt/dialognoise.cpp +++ b/gui_qt/dialognoise.cpp @@ -98,10 +98,12 @@ DialogNoise::DialogNoise(QWidget *parent, NoiseGenerator* value): previews->layout()->addWidget(new QLabel("Level preview")); previews->layout()->addWidget(previewLevel); previewLevel->setScaling(1.0 / 127.0); + previewLevel->start(); previewTotal = new PreviewTotal(previews, _current); previews->layout()->addWidget(new QLabel("Total preview")); previews->layout()->addWidget(previewTotal); previewTotal->setScaling(1.0 / 127.0); + previewTotal->start(); form = new QWidget(this); form->setLayout(new QVBoxLayout()); diff --git a/gui_qt/preview.cpp b/gui_qt/preview.cpp index e8d5672..26e004e 100644 --- a/gui_qt/preview.cpp +++ b/gui_qt/preview.cpp @@ -61,7 +61,6 @@ Preview::Preview(QWidget* parent) : QObject::connect(this, SIGNAL(redrawRequested()), this, SLOT(handleRedraw())); this->updater = new PreviewDrawer(this); - this->updater->start(); } Preview::~Preview() @@ -73,7 +72,8 @@ Preview::~Preview() delete updater; delete pixbuf; - delete lock_drawing;;} + delete lock_drawing; +} void Preview::updateData() { @@ -84,6 +84,11 @@ QColor Preview::getColor(double x, double y) return QColor(0, 0, 0); } +void Preview::start() +{ + this->updater->start(); +} + void Preview::doRender() { if (this->alive) diff --git a/gui_qt/preview.h b/gui_qt/preview.h index 2bb1385..6bc8f38 100644 --- a/gui_qt/preview.h +++ b/gui_qt/preview.h @@ -14,6 +14,7 @@ public: Preview(QWidget* parent); ~Preview(); + void start(); void doRender(); void redraw(); @@ -30,7 +31,6 @@ protected: private: void forceRender(); void renderPixbuf(); - static void startUpdater(); void resizeEvent(QResizeEvent* event); void paintEvent(QPaintEvent* event);