From 805cb76ed8e50f1ae3fd6990a8a6f3d0936be89b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 5 Apr 2006 10:48:47 +0000 Subject: [PATCH] * Added several R4.5 compatibility exports - they are now only compiled when GCC 2.95 is used. * Added empty _klock_node_() syscall for compatibility - all R5 syscalls are now also only compiled with GCC 2.95. * This should fix bug #403. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17011 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/Shape.cpp | 25 ++++++++++++------- src/kits/interface/Slider.cpp | 24 ++++++++++++------ .../libroot/os/arch/x86/compatibility.c | 11 ++++++++ 3 files changed, 44 insertions(+), 16 deletions(-) diff --git a/src/kits/interface/Shape.cpp b/src/kits/interface/Shape.cpp index 88c767dac1..7263fb8e88 100644 --- a/src/kits/interface/Shape.cpp +++ b/src/kits/interface/Shape.cpp @@ -6,19 +6,19 @@ * Marc Flerackers (mflerackers@androme.be) * Stephan Aßmus * Michael Lotz - * - * Description: - * BShape encapsulates a Postscript-style "path" */ -#include -#include +/*! BShape encapsulates a Postscript-style "path" */ #include + +#include #include #include -#include -#include + +#include +#include +#include // NOTE: changing these defines will break Painter, @@ -491,12 +491,19 @@ BShape::AllocatePts(int32 count) } -// #pragma mark - -// R4.5 compatibility +// #pragma mark - R4.5 compatibility #if __GNUC__ < 3 +extern "C" BShape* +__6BShapeR6BShape(void* self, BShape& copyFrom) +{ + return new (self) BShape(copyFrom); + // we need to instantiate the object in the provided memory +} + + extern "C" BRect Bounds__6BShape(BShape *self) { diff --git a/src/kits/interface/Slider.cpp b/src/kits/interface/Slider.cpp index ca08c96470..6fd285c23e 100644 --- a/src/kits/interface/Slider.cpp +++ b/src/kits/interface/Slider.cpp @@ -1726,13 +1726,6 @@ BSlider::_MaxPosition() const } -extern "C" -void _ReservedSlider4__7BSlider(BSlider *slider, int32 minimum, int32 maximum) -{ - slider->BSlider::SetLimits(minimum, maximum); -} - - void BSlider::_ReservedSlider5() {} void BSlider::_ReservedSlider6() {} void BSlider::_ReservedSlider7() {} @@ -1749,3 +1742,20 @@ BSlider::operator=(const BSlider &) return *this; } + +// #pragma mark - R4.5 compatibility + + +#if __GNUC__ < 3 + +extern "C" +void _ReservedSlider4__7BSlider(BSlider *slider, int32 minimum, int32 maximum) +{ + slider->BSlider::SetLimits(minimum, maximum); +} + +extern "C" void _ReservedSlider1__7BSlider() {} +extern "C" void _ReservedSlider2__7BSlider() {} +extern "C" void _ReservedSlider3__7BSlider() {} + +#endif // __GNUC__ < 3 diff --git a/src/system/libroot/os/arch/x86/compatibility.c b/src/system/libroot/os/arch/x86/compatibility.c index 536d304f2e..766ce1dde8 100644 --- a/src/system/libroot/os/arch/x86/compatibility.c +++ b/src/system/libroot/os/arch/x86/compatibility.c @@ -3,6 +3,8 @@ * Distributed under the terms of the MIT License. */ +#if __GNUC__ < 3 + // This file includes some known R5 syscalls // ToDo: maybe they should indeed do something... @@ -13,6 +15,7 @@ int _kset_mon_limit_(int num); int _kset_fd_limit_(int num); +int _klock_node_(int fd); int _kget_cpu_state_(int cpuNum); int _kset_cpu_state_(int cpuNum, int state); @@ -31,6 +34,13 @@ _kset_fd_limit_(int num) } +int +_klock_node_(int fd) +{ + return B_ERROR; +} + + int _kget_cpu_state_(int cpuNum) { @@ -44,3 +54,4 @@ _kset_cpu_state_(int cpuNum, int state) return _kern_set_cpu_enabled(cpuNum, state != 0); } +#endif // __GNUC__ < 3