mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 04:00:05 +02:00
Merged haikuports/haikuports into master
This commit is contained in:
@@ -10,7 +10,7 @@ COPYRIGHT="1992-2013, Paul Falstad, Richard Coleman, Zoltán Hidvégi, Andrew Ma
|
||||
SRC_URI="http://sourceforge.net/projects/zsh/files/zsh/5.0.2/zsh-5.0.2.tar.bz2"
|
||||
CHECKSUM_MD5="b8f2ad691acf58b3252225746480dcad"
|
||||
REVISION="1"
|
||||
ARCHITECTURES="x86_gcc2 x86"
|
||||
ARCHITECTURES="x86_gcc2 x86 x86_64"
|
||||
PATCHES="zsh-5.0.2.patchset"
|
||||
PROVIDES="
|
||||
zsh = $portVersion compat >= 5
|
||||
@@ -20,11 +20,11 @@ PROVIDES="
|
||||
REQUIRES="
|
||||
haiku >= $haikuVersion
|
||||
lib:libncurses
|
||||
lib:libpcre
|
||||
lib:libpcre >= 1
|
||||
"
|
||||
BUILD_REQUIRES="
|
||||
devel:libncurses
|
||||
devel:libpcre
|
||||
devel:libpcre >= 1
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
haiku_devel >= $haikuVersion
|
||||
@@ -35,7 +35,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:make
|
||||
"
|
||||
|
||||
|
||||
BUILD()
|
||||
{
|
||||
runConfigure ./configure
|
||||
|
||||
@@ -15,15 +15,15 @@ COPYRIGHT="
|
||||
"
|
||||
SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.33.tar.bz2"
|
||||
CHECKSUM_MD5="21514018448ac10062ece7a668fca949"
|
||||
REVISION="1"
|
||||
REVISION="2"
|
||||
ARCHITECTURES="x86_gcc2 x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86 x86_gcc2"
|
||||
|
||||
PROVIDES="
|
||||
libpcre${secondaryArchSuffix} = $portVersion
|
||||
lib:libpcre${secondaryArchSuffix} = 1.2.1 compat >= 1
|
||||
lib:libpcrecpp${secondaryArchSuffix} = 1.2.1 compat >= 1
|
||||
lib:libpcreposix${secondaryArchSuffix} = 1.2.1 compat >= 1
|
||||
lib:libpcrecpp${secondaryArchSuffix} = 0.0.1 compat >= 0
|
||||
lib:libpcreposix${secondaryArchSuffix} = 0.0.2 compat >= 0
|
||||
"
|
||||
|
||||
if [ -z "$secondaryArchSuffix" ];then
|
||||
@@ -93,8 +93,8 @@ PROVIDES_devel="
|
||||
libpcre${secondaryArchSuffix}_devel = $portVersion
|
||||
cmd:pcre_config = $portVersion compat >= 8
|
||||
devel:libpcre$secondaryArchSuffix = 1.2.1 compat >= 1
|
||||
devel:libpcrecpp$secondaryArchSuffix = 1.2.1 compat >= 1
|
||||
devel:libpcreposix$secondaryArchSuffix = 1.2.1 compat >= 1
|
||||
devel:libpcrecpp$secondaryArchSuffix = 0.0.1 compat >= 0
|
||||
devel:libpcreposix$secondaryArchSuffix = 0.0.2 compat >= 0
|
||||
"
|
||||
REQUIRES_devel="
|
||||
libpcre$secondaryArchSuffix == $portVersion base
|
||||
|
||||
70
dev-libs/libpcre/libpcre0-8.21.recipe
Normal file
70
dev-libs/libpcre/libpcre0-8.21.recipe
Normal file
@@ -0,0 +1,70 @@
|
||||
SUMMARY="Perl5 Compatible Regular Expressions"
|
||||
DESCRIPTION="
|
||||
The PCRE library is a set of functions that implement regular expression
|
||||
pattern matching using the same syntax and semantics as Perl 5. PCRE has
|
||||
its own native API, as well as a set of wrapper functions that correspond
|
||||
to the POSIX regular expression API. The PCRE library is free, even for
|
||||
building proprietary software.
|
||||
This package contains the native API.
|
||||
"
|
||||
HOMEPAGE="http://www.pcre.org/"
|
||||
LICENSE="PCRE"
|
||||
COPYRIGHT="
|
||||
1997-2011 University of Cambridge
|
||||
2007-2011, Google Inc. All rights reserved.
|
||||
"
|
||||
SRC_URI="http://sourceforge.net/projects/pcre/files/pcre/8.21/pcre-8.21.tar.bz2"
|
||||
CHECKSUM_MD5="0a7b592bea64b7aa7f4011fc7171a730"
|
||||
REVISION="6"
|
||||
ARCHITECTURES="x86_gcc2 x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86 x86_gcc2"
|
||||
|
||||
PROVIDES="
|
||||
libpcre0${secondaryArchSuffix} = $portVersion
|
||||
lib:libpcre${secondaryArchSuffix} = 0.0.1 compat >= 0
|
||||
"
|
||||
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix >= $haikuVersion
|
||||
"
|
||||
BUILD_REQUIRES="
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel >= $haikuVersion
|
||||
cmd:aclocal
|
||||
cmd:autoconf
|
||||
cmd:automake
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:libtoolize
|
||||
"
|
||||
|
||||
SOURCE_DIR="pcre-$portVersion"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
libtoolize --force --copy --install
|
||||
aclocal
|
||||
autoconf
|
||||
automake --add-missing
|
||||
runConfigure ./configure \
|
||||
--enable-utf8 \
|
||||
--enable-unicode-properties \
|
||||
--with-pic --disable-cpp --disable-static
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install-exec-am
|
||||
|
||||
rm -Rf $binDir $libDir/libpcreposix* \
|
||||
$libDir/libpcre.la $libDir/libpcre.so
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
make check
|
||||
}
|
||||
|
||||
@@ -51,4 +51,5 @@ INSTALL()
|
||||
# mkdir -p $prefix
|
||||
# perl Makefile.pl -install $PREFIX=$prefix
|
||||
# cp -r $portDir/example-descriptors $dataDir/abi-compliance-checker
|
||||
:
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ LICENSE="GNU GPL v2"
|
||||
COPYRIGHT="2002-2004 Forgotten"
|
||||
|
||||
ARCHITECTURES="x86 ?x86_64"
|
||||
if [ $effectiveArchitecture != x86_gcc2 ]; then
|
||||
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
|
||||
ARCHITECTURES="$ARCHITECTURES x86_gcc2"
|
||||
fi
|
||||
SECONDARY_ARCHITECTURES="x86 ?x86_64"
|
||||
|
||||
@@ -9,7 +9,7 @@ LICENSE="FreeType"
|
||||
COPYRIGHT="1996-2013 David Turner, Robert Wilhelm, Werner Lemberg, et al."
|
||||
SRC_URI="http://download.savannah.gnu.org/releases/freetype/freetype-2.5.2.tar.bz2"
|
||||
CHECKSUM_MD5="10e8f4d6a019b124088d18bc26123a25"
|
||||
REVISION="1"
|
||||
REVISION="2"
|
||||
ARCHITECTURES="x86_gcc2 x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
|
||||
|
||||
@@ -19,11 +19,13 @@ PROVIDES="
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix >= $haikuVersion
|
||||
lib:libbz2$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix >= 1
|
||||
lib:libpng$secondaryArchSuffix
|
||||
"
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel >= $haikuVersion
|
||||
devel:libbz2$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
devel:libpng$secondaryArchSuffix
|
||||
"
|
||||
|
||||
@@ -1,23 +1,52 @@
|
||||
DESCRIPTION="Less is a free, open-source file pager."
|
||||
HOMEPAGE="http://www.greenwoodsoftware.com/less/"
|
||||
SRC_URI="http://www.greenwoodsoftware.com/less/less-451.tar.gz"
|
||||
SUMMARY="Less is a free, open-source file pager."
|
||||
DESCRIPTION="GNU less is a program similar to more, but which allows \
|
||||
backward movement in the file as well as forward movement. Also, less \
|
||||
does not have to read the entire input file before starting, so with \
|
||||
large input files it starts up faster than text editors like vi. Less uses \
|
||||
termcap (or terminfo on some systems), so it can run on a variety of \
|
||||
terminals. There is even limited support for hardcopy terminals.
|
||||
"
|
||||
HOMEPAGE="http://www.gnu.org/software/less/"
|
||||
SRC_URI="http://ftp.gnu.org/gnu/less/less-451.tar.gz"
|
||||
CHECKSUM_MD5="765f082658002b2b46b86af4a0da1842"
|
||||
REVISION="1"
|
||||
STATUS_HAIKU="stable"
|
||||
DEPEND=""
|
||||
LICENSE="GNU GPL v3"
|
||||
COPYRIGHT="1984-2012 Mark Nudelman"
|
||||
REVISION="2"
|
||||
ARCHITECTURES="x86_gcc2 x86 x86_64"
|
||||
|
||||
PROVIDES="
|
||||
less = 451
|
||||
cmd:less
|
||||
"
|
||||
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix >= $haikuVersion
|
||||
lib:libncurses$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel >= $haikuVersion
|
||||
devel:libncurses$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:autoconf
|
||||
cmd:aclocal
|
||||
"
|
||||
|
||||
PATCHES="less-451.patch"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
cd less-451
|
||||
autoreconf -fvi
|
||||
./configure --prefix=`finddir B_COMMON_DIRECTORY` --with-editor=nano \
|
||||
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
|
||||
autoconf
|
||||
runConfigure ./configure --with-editor=nano
|
||||
make
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
cd less-451
|
||||
make install DESTDIR="${DESTDIR}"
|
||||
make install
|
||||
}
|
||||
LICENSE="GNU GPL v3"
|
||||
COPYRIGHT="1984-2012 Mark Nudelman"
|
||||
|
||||
@@ -10,7 +10,7 @@ COPYRIGHT="1999-2013 Brian Paul All Rights Reserved."
|
||||
LICENSE="MIT"
|
||||
SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/10.0.2/MesaLib-10.0.2.tar.bz2"
|
||||
CHECKSUM_MD5="8544c0ab3e438a08b5103421ea15b6d2"
|
||||
REVISION="2"
|
||||
REVISION="3"
|
||||
ARCHITECTURES="x86 x86_64"
|
||||
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
|
||||
# x86_gcc2 is fine as primary target architecture as long as we're building
|
||||
@@ -98,11 +98,11 @@ INSTALL()
|
||||
|
||||
# swpipe renderer package
|
||||
packageEntries swpipe \
|
||||
"$addOnsDir/opengl/*Pipe"
|
||||
"$addOnsDir/opengl/Software Pipe"
|
||||
|
||||
# swrast renderer package
|
||||
packageEntries swrast \
|
||||
"$addOnsDir/opengl/*Rasterizer"
|
||||
"$addOnsDir/opengl/Software Rasterizer"
|
||||
}
|
||||
|
||||
# ----- devel package -------------------------------------------------------
|
||||
|
||||
@@ -11,7 +11,7 @@ LICENSE="MIT"
|
||||
# remember to update SOURCE_DIR as well for the -X revision
|
||||
SRC_URI="https://github.com/kallisti5/mesa/archive/7.9.2-5.tar.gz"
|
||||
CHECKSUM_MD5="7e9aafbfffa04e14a57d450836d86bf1"
|
||||
REVISION="5"
|
||||
REVISION="6"
|
||||
ARCHITECTURES="x86_gcc2"
|
||||
if [ $effectiveTargetArchitecture != x86 ]; then
|
||||
# x86_gcc2 is fine as primary target architecture as long as we're building
|
||||
@@ -44,6 +44,8 @@ BUILD_PREREQUIRES="
|
||||
cmd:sed
|
||||
"
|
||||
|
||||
PATCHES="mesa-7.9.2.patchset"
|
||||
|
||||
SOURCE_DIR="mesa-7.9.2-5"
|
||||
|
||||
BUILD()
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
From cc285772ce222f3672aa725dea18b52d9f94d2c2 Mon Sep 17 00:00:00 2001
|
||||
From 880e1a26af698949add259ef80bc3e0e4aa55188 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander von Gluck IV <kallisti5@unixzen.com>
|
||||
Date: Mon, 30 Dec 2013 23:49:06 -0600
|
||||
Subject: [PATCH] haiku: Fix missing HaikuGL header paths
|
||||
Subject: haiku: Fix missing HaikuGL header paths
|
||||
|
||||
---
|
||||
src/gallium/targets/haiku-softpipe/SConscript | 1 +
|
||||
src/gallium/targets/libgl-haiku/SConscript | 1 +
|
||||
src/mesa/drivers/haiku/swrast/SConscript | 1 +
|
||||
3 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/gallium/targets/haiku-softpipe/SConscript b/src/gallium/targets/haiku-softpipe/SConscript
|
||||
index 40bf03c..16ce7cd 100644
|
||||
@@ -48,10 +43,11 @@ index 71ce88e..ca0423e 100644
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
From 72e0f3de1f2df3407dbf257183c78bd3f81c1a12 Mon Sep 17 00:00:00 2001
|
||||
|
||||
From add021d06196b1250454496cb3fb5b39746e2739 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander von Gluck IV <kallisti5@unixzen.com>
|
||||
Date: Tue, 31 Dec 2013 15:39:49 -0600
|
||||
Subject: [PATCH] haiku libGL: Move from gallium target to src/hgl
|
||||
Subject: haiku libGL: Move from gallium target to src/hgl
|
||||
|
||||
* The Haiku renderers need to link to libGL to function properly
|
||||
in all usage contexts. As mesa drivers build before gallium
|
||||
@@ -60,40 +56,6 @@ Subject: [PATCH] haiku libGL: Move from gallium target to src/hgl
|
||||
* This is likely better as it mimics how glx is laid out ensuring
|
||||
the Haiku libGL is better understood.
|
||||
* All renderers properly link in libGL now.
|
||||
---
|
||||
src/SConscript | 5 +
|
||||
src/gallium/SConscript | 1 -
|
||||
src/gallium/targets/haiku-softpipe/SConscript | 2 +
|
||||
src/gallium/targets/libgl-haiku/GLDispatcher.cpp | 72 ---
|
||||
src/gallium/targets/libgl-haiku/GLDispatcher.h | 109 ----
|
||||
src/gallium/targets/libgl-haiku/GLRenderer.cpp | 106 ----
|
||||
.../targets/libgl-haiku/GLRendererRoster.cpp | 224 -------
|
||||
src/gallium/targets/libgl-haiku/GLRendererRoster.h | 51 --
|
||||
src/gallium/targets/libgl-haiku/GLView.cpp | 643 ---------------------
|
||||
src/gallium/targets/libgl-haiku/SConscript | 35 --
|
||||
src/hgl/GLDispatcher.cpp | 72 +++
|
||||
src/hgl/GLDispatcher.h | 109 ++++
|
||||
src/hgl/GLRenderer.cpp | 106 ++++
|
||||
src/hgl/GLRendererRoster.cpp | 224 +++++++
|
||||
src/hgl/GLRendererRoster.h | 51 ++
|
||||
src/hgl/GLView.cpp | 643 +++++++++++++++++++++
|
||||
src/hgl/SConscript | 36 ++
|
||||
src/mesa/drivers/haiku/swrast/SConscript | 2 +
|
||||
18 files changed, 1250 insertions(+), 1241 deletions(-)
|
||||
delete mode 100644 src/gallium/targets/libgl-haiku/GLDispatcher.cpp
|
||||
delete mode 100644 src/gallium/targets/libgl-haiku/GLDispatcher.h
|
||||
delete mode 100644 src/gallium/targets/libgl-haiku/GLRenderer.cpp
|
||||
delete mode 100644 src/gallium/targets/libgl-haiku/GLRendererRoster.cpp
|
||||
delete mode 100644 src/gallium/targets/libgl-haiku/GLRendererRoster.h
|
||||
delete mode 100644 src/gallium/targets/libgl-haiku/GLView.cpp
|
||||
delete mode 100644 src/gallium/targets/libgl-haiku/SConscript
|
||||
create mode 100644 src/hgl/GLDispatcher.cpp
|
||||
create mode 100644 src/hgl/GLDispatcher.h
|
||||
create mode 100644 src/hgl/GLRenderer.cpp
|
||||
create mode 100644 src/hgl/GLRendererRoster.cpp
|
||||
create mode 100644 src/hgl/GLRendererRoster.h
|
||||
create mode 100644 src/hgl/GLView.cpp
|
||||
create mode 100644 src/hgl/SConscript
|
||||
|
||||
diff --git a/src/SConscript b/src/SConscript
|
||||
index 1465918..a24acea 100644
|
||||
@@ -112,7 +74,7 @@ index 1465918..a24acea 100644
|
||||
|
||||
SConscript('mapi/vgapi/SConscript')
|
||||
diff --git a/src/gallium/SConscript b/src/gallium/SConscript
|
||||
index 6e27be2..32bbdbe 100644
|
||||
index c68519d..7ba8070 100644
|
||||
--- a/src/gallium/SConscript
|
||||
+++ b/src/gallium/SConscript
|
||||
@@ -119,7 +119,6 @@ if not env['embedded']:
|
||||
@@ -2717,16 +2679,14 @@ index ca0423e..aef7300 100644
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
From fc7707b49c064f17ed345cf70e89e8dfa8a6738d Mon Sep 17 00:00:00 2001
|
||||
|
||||
From 23cc377e1ac5046aae825580033c8ec23e80d670 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander von Gluck IV <kallisti5@unixzen.com>
|
||||
Date: Tue, 21 Jan 2014 18:40:22 +0000
|
||||
Subject: [PATCH] hgl: atomic stores no longer need to be volatile
|
||||
Subject: hgl: atomic stores no longer need to be volatile
|
||||
|
||||
* Our atomics were revamped to no longer require
|
||||
volatile int pointers
|
||||
---
|
||||
include/HaikuGL/GLRenderer.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/HaikuGL/GLRenderer.h b/include/HaikuGL/GLRenderer.h
|
||||
index 7ffcc34..02a438d 100644
|
||||
@@ -2744,3 +2704,67 @@ index 7ffcc34..02a438d 100644
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
|
||||
From bcf7efda26051f122039df4c33e301fc6de59974 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Wed, 12 Feb 2014 20:11:25 +0000
|
||||
Subject: hgl: release add-ons on GLView destruction.
|
||||
|
||||
|
||||
diff --git a/src/hgl/GLRendererRoster.cpp b/src/hgl/GLRendererRoster.cpp
|
||||
index 1712a87..3833b2c 100644
|
||||
--- a/src/hgl/GLRendererRoster.cpp
|
||||
+++ b/src/hgl/GLRendererRoster.cpp
|
||||
@@ -79,7 +79,14 @@ GLRendererRoster::GLRendererRoster(BGLView* view, ulong options)
|
||||
|
||||
GLRendererRoster::~GLRendererRoster()
|
||||
{
|
||||
-
|
||||
+ RendererMap::iterator iterator = fRenderers.begin();
|
||||
+ for (; iterator != fRenderers.end(); iterator++) {
|
||||
+ struct renderer_item item = iterator->second;
|
||||
+ image_id image = item.image;
|
||||
+ item.renderer->Release();
|
||||
+ // this will delete the renderer
|
||||
+ unload_add_on(image);
|
||||
+ }
|
||||
}
|
||||
|
||||
|
||||
@@ -91,6 +98,7 @@ GLRendererRoster::GetRenderer(int32 id)
|
||||
return NULL;
|
||||
|
||||
struct renderer_item item = iterator->second;
|
||||
+ item.renderer->Acquire();
|
||||
return item.renderer;
|
||||
}
|
||||
|
||||
@@ -105,7 +113,7 @@ GLRendererRoster::AddDefaultPaths()
|
||||
B_SYSTEM_ADDONS_DIRECTORY,
|
||||
};
|
||||
|
||||
- for (uint32 i = fSafeMode ? 4 : 0;
|
||||
+ for (uint32 i = fSafeMode ? 3 : 0;
|
||||
i < sizeof(paths) / sizeof(paths[0]); i++) {
|
||||
BPath path;
|
||||
status_t status = find_directory(paths[i], &path, true);
|
||||
diff --git a/src/hgl/GLView.cpp b/src/hgl/GLView.cpp
|
||||
index 9ae5b5c..477b430 100644
|
||||
--- a/src/hgl/GLView.cpp
|
||||
+++ b/src/hgl/GLView.cpp
|
||||
@@ -57,8 +57,11 @@ BGLView::BGLView(BRect rect, const char* name, ulong resizingMode, ulong mode,
|
||||
BGLView::~BGLView()
|
||||
{
|
||||
delete fClipInfo;
|
||||
- if (fRenderer)
|
||||
+ if (fRenderer) {
|
||||
fRenderer->Release();
|
||||
+ fRenderer = NULL;
|
||||
+ }
|
||||
+ delete fRoster;
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
|
||||
88
sys-libs/mesa/patches/mesa-7.9.2.patchset
Normal file
88
sys-libs/mesa/patches/mesa-7.9.2.patchset
Normal file
@@ -0,0 +1,88 @@
|
||||
From 1c3d699120d0acdda3ad0d8a91d113c5d051b56d Mon Sep 17 00:00:00 2001
|
||||
From: Alexander von Gluck IV <kallisti5@unixzen.com>
|
||||
Date: Tue, 21 Jan 2014 18:40:22 +0000
|
||||
Subject: hgl: atomic stores no longer need to be volatile
|
||||
|
||||
* Our atomics were revamped to no longer require
|
||||
volatile int pointers
|
||||
|
||||
diff --git a/include/HaikuGL/GLRenderer.h b/include/HaikuGL/GLRenderer.h
|
||||
index 7ffcc34..02a438d 100644
|
||||
--- a/include/HaikuGL/GLRenderer.h
|
||||
+++ b/include/HaikuGL/GLRenderer.h
|
||||
@@ -61,7 +61,7 @@ private:
|
||||
virtual status_t _Reserved_Renderer_3(int32, void *);
|
||||
virtual status_t _Reserved_Renderer_4(int32, void *);
|
||||
|
||||
- volatile int32 fRefCount; // How much we're still usefull?
|
||||
+ int32 fRefCount; // How much we're still usefull?
|
||||
BGLView* fView; // Never forget who is the boss!
|
||||
ulong fOptions; // Keep that tune in memory
|
||||
BGLDispatcher* fDispatcher;// Our personal GL API call dispatcher
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
|
||||
From fc10a0e496d3c8ea8a027b1807ad9cd7d1c4591d Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Wed, 12 Feb 2014 20:11:25 +0000
|
||||
Subject: hgl: release add-ons on GLView destruction.
|
||||
|
||||
|
||||
diff --git a/src/hgl/libgl-haiku/GLRendererRoster.cpp b/src/hgl/libgl-haiku/GLRendererRoster.cpp
|
||||
index 1712a87..3833b2c 100644
|
||||
--- a/src/hgl/libgl-haiku/GLRendererRoster.cpp
|
||||
+++ b/src/hgl/libgl-haiku/GLRendererRoster.cpp
|
||||
@@ -79,7 +79,14 @@ GLRendererRoster::GLRendererRoster(BGLView* view, ulong options)
|
||||
|
||||
GLRendererRoster::~GLRendererRoster()
|
||||
{
|
||||
-
|
||||
+ RendererMap::iterator iterator = fRenderers.begin();
|
||||
+ for (; iterator != fRenderers.end(); iterator++) {
|
||||
+ struct renderer_item item = iterator->second;
|
||||
+ image_id image = item.image;
|
||||
+ item.renderer->Release();
|
||||
+ // this will delete the renderer
|
||||
+ unload_add_on(image);
|
||||
+ }
|
||||
}
|
||||
|
||||
|
||||
@@ -91,6 +98,7 @@ GLRendererRoster::GetRenderer(int32 id)
|
||||
return NULL;
|
||||
|
||||
struct renderer_item item = iterator->second;
|
||||
+ item.renderer->Acquire();
|
||||
return item.renderer;
|
||||
}
|
||||
|
||||
@@ -105,7 +113,7 @@ GLRendererRoster::AddDefaultPaths()
|
||||
B_SYSTEM_ADDONS_DIRECTORY,
|
||||
};
|
||||
|
||||
- for (uint32 i = fSafeMode ? 4 : 0;
|
||||
+ for (uint32 i = fSafeMode ? 3 : 0;
|
||||
i < sizeof(paths) / sizeof(paths[0]); i++) {
|
||||
BPath path;
|
||||
status_t status = find_directory(paths[i], &path, true);
|
||||
diff --git a/src/hgl/libgl-haiku/GLView.cpp b/src/hgl/libgl-haiku/GLView.cpp
|
||||
index 9ae5b5c..477b430 100644
|
||||
--- a/src/hgl/libgl-haiku/GLView.cpp
|
||||
+++ b/src/hgl/libgl-haiku/GLView.cpp
|
||||
@@ -57,8 +57,11 @@ BGLView::BGLView(BRect rect, const char* name, ulong resizingMode, ulong mode,
|
||||
BGLView::~BGLView()
|
||||
{
|
||||
delete fClipInfo;
|
||||
- if (fRenderer)
|
||||
+ if (fRenderer) {
|
||||
fRenderer->Release();
|
||||
+ fRenderer = NULL;
|
||||
+ }
|
||||
+ delete fRoster;
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
Reference in New Issue
Block a user