coin3d: include fix for newer compilers
This manifests as a segfault in any applications that use the library.
This commit is contained in:
parent
e960eb0bf5
commit
cf32537210
@ -16,6 +16,9 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "076dyc52swk8qc7ylps53fg6iqmd52x8s7m18i80x49dd109yw20";
|
sha256 = "076dyc52swk8qc7ylps53fg6iqmd52x8s7m18i80x49dd109yw20";
|
||||||
})
|
})
|
||||||
./gcc-4.8.patch # taken from FC-17 source rpm
|
./gcc-4.8.patch # taken from FC-17 source rpm
|
||||||
|
# see https://bitbucket.org/Coin3D/coin/issues/128/crash-in-cc_memalloc_deallocate
|
||||||
|
# patch adapted from https://bitbucket.org/Coin3D/coin/pull-requests/75/added-fix-for-issue-128-provided-by-fedora/diff
|
||||||
|
./sbhashentry.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [ mesa ];
|
buildInputs = [ mesa ];
|
||||||
|
25
pkgs/development/libraries/coin3d/sbhashentry.patch
Normal file
25
pkgs/development/libraries/coin3d/sbhashentry.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
diff -u --label /tmp/Coin-3.1.3/src/misc/SbHash.h --label \#\<buffer\ SbHash.h\> /tmp/Coin-3.1.3/src/misc/SbHash.h /tmp/buffer-content-21756V0
|
||||||
|
--- a/src/misc/SbHash.h
|
||||||
|
+++ b/src/misc/SbHash.h
|
||||||
|
@@ -88,8 +88,8 @@
|
||||||
|
SbHashEntry<Type, Key> * entry = static_cast<SbHashEntry<Type, Key> *>( ptr);
|
||||||
|
cc_memalloc_deallocate(entry->memhandler, ptr);
|
||||||
|
}
|
||||||
|
- SbHashEntry(const Key & key, const Type & obj) : key(key), obj(obj) {}
|
||||||
|
-
|
||||||
|
+ SbHashEntry(const Key & key, const Type & obj, cc_memalloc *memhandler)
|
||||||
|
+ : key(key), obj(obj), memhandler(memhandler) {}
|
||||||
|
Key key;
|
||||||
|
Type obj;
|
||||||
|
SbHashEntry<Type, Key> * next;
|
||||||
|
@@ -218,7 +218,7 @@
|
||||||
|
/* Key not already in the hash table; insert a new
|
||||||
|
* entry as the first element in the bucket
|
||||||
|
*/
|
||||||
|
- entry = new (this->memhandler) SbHashEntry<Type, Key>(key, obj);
|
||||||
|
+ entry = new (this->memhandler) SbHashEntry<Type, Key>(key, obj, this->memhandler);
|
||||||
|
entry->next = this->buckets[i];
|
||||||
|
this->buckets[i] = entry;
|
||||||
|
|
||||||
|
|
||||||
|
Diff finished. Sat Sep 9 19:50:32 2017
|
Loading…
Reference in New Issue
Block a user