From 19876773cd88459bf791f660b4055f8c5e207c4e Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sat, 15 Jun 2019 14:00:59 +1000
Subject: Fix for Haiku


diff --git a/src/app/tape/mapplication.cpp b/src/app/tape/mapplication.cpp
index 0eff774..6dc3e7a 100644
--- a/src/app/tape/mapplication.cpp
+++ b/src/app/tape/mapplication.cpp
@@ -387,8 +387,9 @@ QList<TMainWindow *> MApplication::MainWindows()
 //---------------------------------------------------------------------------------------------------------------------
 void MApplication::InitOptions()
 {
+#ifndef Q_OS_HAIKU
     qInstallMessageHandler(noisyFailureMsgHandler);
-
+#endif
     OpenSettings();
 
     qCDebug(mApp, "Version: %s", qUtf8Printable(APP_VERSION_STR));
diff --git a/src/app/valentina/core/vapplication.cpp b/src/app/valentina/core/vapplication.cpp
index d534bbd..a861e7e 100644
--- a/src/app/valentina/core/vapplication.cpp
+++ b/src/app/valentina/core/vapplication.cpp
@@ -410,7 +410,11 @@ bool VApplication::notify(QObject *receiver, QEvent *event)
 //---------------------------------------------------------------------------------------------------------------------
 QString VApplication::TapeFilePath() const
 {
+#ifdef Q_OS_HAIKU
+    const QString tape = QStringLiteral("Tape");
+#else
     const QString tape = QStringLiteral("tape");
+#endif
 #ifdef Q_OS_WIN
     QFileInfo tapeFile(QCoreApplication::applicationDirPath() + "/" + tape + ".exe");
     if (tapeFile.exists())
diff --git a/src/libs/ifc/xml/vabstractconverter.h b/src/libs/ifc/xml/vabstractconverter.h
index 86d7d2b..dbbc283 100644
--- a/src/libs/ifc/xml/vabstractconverter.h
+++ b/src/libs/ifc/xml/vabstractconverter.h
@@ -31,7 +31,7 @@
 
 #include <qcompilerdetection.h>
 
-#if !defined(Q_OS_OSX) && !defined(Q_OS_WIN) && !defined(Q_OS_FREEBSD) && defined(Q_CC_GNU)
+#if !defined(Q_OS_HAIKU) && !defined(Q_OS_OSX) && !defined(Q_OS_WIN) && !defined(Q_OS_FREEBSD) && defined(Q_CC_GNU)
 #include <sys/sysmacros.h>
 #endif
 
-- 
2.21.0


From 65bb7f82ea23ac518dbdcad3ad4ac4d89e7d3a49 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sat, 15 Jun 2019 19:37:45 +1000
Subject: Disable file locking for Haiku


diff --git a/src/app/tape/tmainwindow.cpp b/src/app/tape/tmainwindow.cpp
index 8112ed0..2f53c36 100644
--- a/src/app/tape/tmainwindow.cpp
+++ b/src/app/tape/tmainwindow.cpp
@@ -239,7 +239,7 @@ bool TMainWindow::LoadFile(const QString &path)
         }
 
         VlpCreateLock(lock, path);
-
+#ifndef Q_OS_HAIKU
         if (not lock->IsLocked())
         {
             if (not IgnoreLocking(lock->GetLockError(), path))
@@ -247,7 +247,7 @@ bool TMainWindow::LoadFile(const QString &path)
                 return false;
             }
         }
-
+#endif
         try
         {
             data = new VContainer(qApp->TrVars(), &mUnit, VContainer::UniqueNamespace());
@@ -2877,7 +2877,7 @@ bool TMainWindow::LoadFromExistingFile(const QString &path)
         }
 
         VlpCreateLock(lock, path);
-
+#ifndef Q_OS_HAIKU
         if (not lock->IsLocked())
         {
             if (not IgnoreLocking(lock->GetLockError(), path))
@@ -2885,7 +2885,7 @@ bool TMainWindow::LoadFromExistingFile(const QString &path)
                 return false;
             }
         }
-
+#endif
         try
         {
             data = new VContainer(qApp->TrVars(), &mUnit, VContainer::UniqueNamespace());
diff --git a/src/app/valentina/mainwindow.cpp b/src/app/valentina/mainwindow.cpp
index cc49e6f..0497e62 100644
--- a/src/app/valentina/mainwindow.cpp
+++ b/src/app/valentina/mainwindow.cpp
@@ -4474,6 +4474,7 @@ bool MainWindow::LoadPattern(QString fileName, const QString& customMeasureFile)
     {
         qCDebug(vMainWindow, "Pattern file %s was locked.", qUtf8Printable(fileName));
     }
+#ifndef Q_OS_HAIKU
     else
     {
         if (not IgnoreLocking(lock->GetLockError(), fileName))
@@ -4481,6 +4482,7 @@ bool MainWindow::LoadPattern(QString fileName, const QString& customMeasureFile)
             return false;
         }
     }
+#endif
 
     // On this stage scene empty. Fit scene size to view size
     VMainGraphicsView::NewSceneRect(sceneDraw, ui->view);
-- 
2.21.0

