From e0e224daf7f0039fddeaaec5d8b12191b43ac9bd Mon Sep 17 00:00:00 2001 From: phoudoin Date: Wed, 25 Oct 2017 18:15:43 +0200 Subject: [PATCH] BurnItNow: fix crash at launch on x86_64 (#1739) --- haiku-apps/burnitnow/burnitnow-1.1.recipe | 9 +- .../burnitnow/patches/burnitnow-1.1.patchset | 175 ++++++++++++++++++ 2 files changed, 180 insertions(+), 4 deletions(-) create mode 100644 haiku-apps/burnitnow/patches/burnitnow-1.1.patchset diff --git a/haiku-apps/burnitnow/burnitnow-1.1.recipe b/haiku-apps/burnitnow/burnitnow-1.1.recipe index 108f856d7..39e03f656 100644 --- a/haiku-apps/burnitnow/burnitnow-1.1.recipe +++ b/haiku-apps/burnitnow/burnitnow-1.1.recipe @@ -6,10 +6,11 @@ on the used hardware and its configuration)." HOMEPAGE="https://github.com/HaikuArchives/BurnItNow" COPYRIGHT="2010-2016 BurnItNow Team" LICENSE="MIT" -REVISION="3" +REVISION="4" SOURCE_URI="https://github.com/HaikuArchives/BurnItNow/archive/v$portVersion.tar.gz" CHECKSUM_SHA256="e1a03cbc0d7fa26a589c4e88cc827318ccf2468da394262fd2fb95120efcfefd" SOURCE_DIR="BurnItNow-$portVersion" +PATCHES="$portVersionedName.patchset" ARCHITECTURES="x86_gcc2 x86 x86_64" @@ -25,12 +26,12 @@ REQUIRES=" " BUILD_REQUIRES=" - haiku_devel + haiku${secondaryArchSuffix}_devel " BUILD_PREREQUIRES=" makefile_engine - cmd:g++ - cmd:ld + cmd:g++$secondaryArchSuffix + cmd:ld$secondaryArchSuffix cmd:make " diff --git a/haiku-apps/burnitnow/patches/burnitnow-1.1.patchset b/haiku-apps/burnitnow/patches/burnitnow-1.1.patchset new file mode 100644 index 000000000..27617dd73 --- /dev/null +++ b/haiku-apps/burnitnow/patches/burnitnow-1.1.patchset @@ -0,0 +1,175 @@ +From 1a267c7e9168a06138082b1c0e283d23b22b0be1 Mon Sep 17 00:00:00 2001 +From: Philippe Houdoin +Date: Wed, 25 Oct 2017 15:43:10 +0000 +Subject: Fix static call to be_control_look + + +diff --git a/Source/BurnWindow.cpp b/Source/BurnWindow.cpp +index 78d9eab..f262695 100644 +--- a/Source/BurnWindow.cpp ++++ b/Source/BurnWindow.cpp +@@ -45,7 +45,6 @@ const uint32 kDeviceChangeMessage[MAX_DEVICES] + = { 'DVC0', 'DVC1', 'DVC2', 'DVC3', 'DVC4' }; + + static const BString kWebsiteUrl = "https://github.com/HaikuArchives/BurnItNow"; +-static const float kControlPadding = be_control_look->DefaultItemSpacing(); + + // Misc variables + sdevice devices[MAX_DEVICES]; +@@ -223,6 +222,8 @@ BurnWindow::_CreateMenuBar() + BView* + BurnWindow::_CreateToolBar() + { ++ const float kControlPadding = be_control_look->DefaultItemSpacing(); ++ + BGroupView* groupView = new BGroupView(B_HORIZONTAL, kControlPadding); + + fSessionMenu = new BMenu("SessionMenu"); +diff --git a/Source/CompilationAudioView.cpp b/Source/CompilationAudioView.cpp +index 9c67b94..907b78e 100644 +--- a/Source/CompilationAudioView.cpp ++++ b/Source/CompilationAudioView.cpp +@@ -22,18 +22,18 @@ + #undef B_TRANSLATION_CONTEXT + #define B_TRANSLATION_CONTEXT "Audio view" + +-static const float kControlPadding = be_control_look->DefaultItemSpacing(); +- + // Message constants + const int32 kBurnerMessage = 'Brnr'; + const int32 kBurnDiscMessage = 'BURN'; + + CompilationAudioView::CompilationAudioView(BurnWindow& parent) + : +- BView(B_TRANSLATE("Audio"), B_WILL_DRAW, new BGroupLayout(B_VERTICAL, +- kControlPadding)), ++ BView(B_TRANSLATE("Audio"), B_WILL_DRAW, new BGroupLayout(B_VERTICAL)), + fBurnerThread(NULL) + { ++ const float kControlPadding = be_control_look->DefaultItemSpacing(); ++ SetLayout(new BGroupLayout(B_VERTICAL, kControlPadding)); ++ + windowParent = &parent; + + SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); +diff --git a/Source/CompilationCDRWView.cpp b/Source/CompilationCDRWView.cpp +index 92c7e2a..14c35d6 100644 +--- a/Source/CompilationCDRWView.cpp ++++ b/Source/CompilationCDRWView.cpp +@@ -18,19 +18,19 @@ + #undef B_TRANSLATION_CONTEXT + #define B_TRANSLATION_CONTEXT "Blank view" + +-static const float kControlPadding = be_control_look->DefaultItemSpacing(); +- + // Message constants + const int32 kBlankMessage = 'Blnk'; + const int32 kBlankerMessage = 'Blkr'; + + CompilationCDRWView::CompilationCDRWView(BurnWindow& parent) + : +- BView(B_TRANSLATE("Blank CD-RW"), B_WILL_DRAW, +- new BGroupLayout(B_VERTICAL, kControlPadding)), ++ BView(B_TRANSLATE("Blank CD-RW"), B_WILL_DRAW), + fOpenPanel(NULL), + fBlankerThread(NULL) + { ++ const float kControlPadding = be_control_look->DefaultItemSpacing(); ++ SetLayout(new BGroupLayout(B_VERTICAL, kControlPadding)); ++ + windowParent = &parent; + + SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); +diff --git a/Source/CompilationCloneView.cpp b/Source/CompilationCloneView.cpp +index 41d8a51..b947745 100644 +--- a/Source/CompilationCloneView.cpp ++++ b/Source/CompilationCloneView.cpp +@@ -18,8 +18,6 @@ + #undef B_TRANSLATION_CONTEXT + #define B_TRANSLATION_CONTEXT "Clone view" + +-static const float kControlPadding = be_control_look->DefaultItemSpacing(); +- + // Message constants + const int32 kCreateImageMessage = 'Crat'; + const int32 kBurnImageMessage = 'Wrte'; +@@ -34,11 +32,13 @@ int selectedSrcDevice; + + CompilationCloneView::CompilationCloneView(BurnWindow& parent) + : +- BView(B_TRANSLATE("Clone"), B_WILL_DRAW, +- new BGroupLayout(B_VERTICAL, kControlPadding)), ++ BView(B_TRANSLATE("Clone"), B_WILL_DRAW), + fOpenPanel(NULL), + fClonerThread(NULL) + { ++ const float kControlPadding = be_control_look->DefaultItemSpacing(); ++ SetLayout(new BGroupLayout(B_VERTICAL, kControlPadding)); ++ + windowParent = &parent; + + SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); +diff --git a/Source/CompilationDataView.cpp b/Source/CompilationDataView.cpp +index e781c0a..c55aaaa 100644 +--- a/Source/CompilationDataView.cpp ++++ b/Source/CompilationDataView.cpp +@@ -20,8 +20,6 @@ + + #include + +-static const float kControlPadding = be_control_look->DefaultItemSpacing(); +- + // Message constants + const int32 kChooseDirectoryMessage = 'Cusd'; + const int32 kBurnerMessage = 'Brnr'; +@@ -32,13 +30,15 @@ const int32 kNoPathMessage = 'Noph'; // defined in PathView + + CompilationDataView::CompilationDataView(BurnWindow& parent) + : +- BView(B_TRANSLATE("Data"), B_WILL_DRAW, +- new BGroupLayout(B_VERTICAL, kControlPadding)), ++ BView(B_TRANSLATE("Data"), B_WILL_DRAW), + fOpenPanel(NULL), + fBurnerThread(NULL), + fDirPath(new BPath()), + fImagePath(new BPath()) + { ++ const float kControlPadding = be_control_look->DefaultItemSpacing(); ++ SetLayout(new BGroupLayout(B_VERTICAL, kControlPadding)); ++ + windowParent = &parent; + step = 0; + +diff --git a/Source/CompilationImageView.cpp b/Source/CompilationImageView.cpp +index 409d872..dbed907 100644 +--- a/Source/CompilationImageView.cpp ++++ b/Source/CompilationImageView.cpp +@@ -22,8 +22,6 @@ + #undef B_TRANSLATION_CONTEXT + #define B_TRANSLATION_CONTEXT "Image view" + +-static const float kControlPadding = be_control_look->DefaultItemSpacing(); +- + // Message constants + const int32 kBurnImageMessage = 'Burn'; + const int32 kChooseImageMessage = 'Chus'; +@@ -33,12 +31,14 @@ const int32 kNoPathMessage = 'Noph'; // defined in PathView + + CompilationImageView::CompilationImageView(BurnWindow& parent) + : +- BView(B_TRANSLATE("Image file"), B_WILL_DRAW, +- new BGroupLayout(B_VERTICAL, kControlPadding)), ++ BView(B_TRANSLATE("Image file"), B_WILL_DRAW), + fOpenPanel(NULL), + fImagePath(new BPath()), + fImageParserThread(NULL) + { ++ const float kControlPadding = be_control_look->DefaultItemSpacing(); ++ SetLayout(new BGroupLayout(B_VERTICAL, kControlPadding)); ++ + windowParent = &parent; + step = 0; + +-- +2.14.2 +