From 1b2508b0ecad6ac78f3947aa42cbea6b235efa42 Mon Sep 17 00:00:00 2001
From: Mark Watkins <jedimark@users.sourceforge.net>
Date: Sun, 11 Sep 2011 17:57:29 +1000
Subject: [PATCH] Some silly crash bugs fixed, and windows compile problem
 fixed

---
 SleepLib/machine.cpp | 2 +-
 SleepLib/machine.h   | 1 +
 mainwindow.cpp       | 7 +++++--
 overview.cpp         | 4 ++--
 4 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/SleepLib/machine.cpp b/SleepLib/machine.cpp
index 27d16c62..904f6374 100644
--- a/SleepLib/machine.cpp
+++ b/SleepLib/machine.cpp
@@ -617,7 +617,7 @@ bool Machine::Save()
 
     for (int i=0;i<threads;i++) {
         while (thread[i]->isRunning()) {
-            usleep(250);
+            SaveThread::msleep(250);
             QApplication::processEvents();
         }
         delete thread[i];
diff --git a/SleepLib/machine.h b/SleepLib/machine.h
index f21ff316..6197928a 100644
--- a/SleepLib/machine.h
+++ b/SleepLib/machine.h
@@ -36,6 +36,7 @@ class SaveThread:public QThread
     Q_OBJECT
 public:
     SaveThread(Machine *m,QString p) { machine=m; path=p; }
+    static void msleep(unsigned long msecs) { QThread::msleep(msecs); }
     virtual void run();
 protected:
     Machine *machine;
diff --git a/mainwindow.cpp b/mainwindow.cpp
index c7096053..726ef98c 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -103,8 +103,11 @@ MainWindow::MainWindow(QWidget *parent) :
 
     pref["AppName"]="SleepyHead";
     QString Version=QString("%1.%2.%3").arg(major_version).arg(minor_version).arg(revision_number);
-    if (pref.Exists("VersionString") && pref["VersionString"]!=Version) {
-        QMessageBox::warning(this,"New Version Warning","This is a new version of SleepyHead. If you experience a crash right after clicking Ok, you will need to manually delete the SleepApp folder (it's located in your Documents folder) and reimport your data. After this things should work normally.",QMessageBox::Ok);
+    if (pref.Exists("VersionString")) {
+        QString V=pref["VersionString"].toString();
+        if (V!=Version) {
+            QMessageBox::warning(this,"New Version Warning","This is a new version of SleepyHead. If you experience a crash right after clicking Ok, you will need to manually delete the SleepApp folder (it's located in your Documents folder) and reimport your data. After this things should work normally.",QMessageBox::Ok);
+        }
     }
     pref["VersionString"]=Version;
 
diff --git a/overview.cpp b/overview.cpp
index 028ede63..d749a6aa 100644
--- a/overview.cpp
+++ b/overview.cpp
@@ -126,7 +126,7 @@ Overview::Overview(QWidget *parent,Profile * _profile,gGraphView * shared) :
 }
 Overview::~Overview()
 {
-    if (!report) {
+    if (report) {
         report->close();
         delete report;
     }
@@ -168,7 +168,7 @@ void Overview::on_printButton_clicked()
 {
 
     if (!report) {
-        report=new Report(this,profile,m_shared,this);
+        report=new Report(this,profile,NULL,this);
     }
 
     if (report) {