[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SMDoubleSlider usability on GNUstep
From: |
Yavor Doganov |
Subject: |
SMDoubleSlider usability on GNUstep |
Date: |
Tue, 20 Feb 2018 14:33:21 +0200 |
User-agent: |
Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (Gojō) APEL/10.8 EasyPG/1.0.0 Emacs/25.2 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) |
As part of my ongoing effort to port the latest Lynkeos release to
GNUstep, I have encountered an issue with a custom class which is a
subclass of NSSlider/NSSliderCell. The original code is available
here [1] as .dmg only, I used 7z to unpack it.
[1] http://developer.snowmintcs.com/controls/smdoubleslider/
The Lynkeos bundled version can be obtained with Subversion [2] and is
also browseable here [3].
[2] svn co
svn://svn.code.sf.net/p/lynkeos/code/trunk/application/ThirdPartySources/SMDoubleSlider
SMDoubleSlider
[3]
https://sourceforge.net/p/lynkeos/code/HEAD/tree/trunk/application/ThirdPartySources/SMDoubleSlider/
It seems that the original code accesses NSSliderCell private ivars
directly (_value and some struct members); they have no GNUstep
equivalent. In 2009, the Lynkeos developer made some changes to fix
compilation on GNUstep:
https://sourceforge.net/p/lynkeos/code/490/tree//trunk/application/ThirdPartySources/SMDoubleSlider/SMDoubleSliderCell.m?diff=517068cee88f3d0a275a1c9e:489
I assume that this works on Cocoa as there were several Lynkeos
releases since then. It builds on GNUstep but crashes:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6b61216 in objc_msg_lookup (receiver=receiver@entry=0x5555562ef7f0,
op=op@entry=0x7ffff7c6f130 <_OBJC_SELECTOR_TABLE+400>)
at /build/gcc-8-0DvHrl/gcc-8-8-20180218/src/libobjc/sendmsg.c:439
439 /build/gcc-8-0DvHrl/gcc-8-8-20180218/src/libobjc/sendmsg.c: Няма такъв
файл или директория.
(gdb) bt
#0 0x00007ffff6b61216 in objc_msg_lookup
(receiver=receiver@entry=0x5555562ef7f0, op=op@entry=0x7ffff7c6f130
<_OBJC_SELECTOR_TABLE+400>)
at /build/gcc-8-0DvHrl/gcc-8-8-20180218/src/libobjc/sendmsg.c:439
#1 0x00007ffff77d2015 in -[NSCell doubleValue] (self=0x5555562ef7f0,
_cmd=<optimized out>) at NSCell.m:269
#2 0x00007ffff778362a in -[NSActionCell doubleValue] (self=0x5555562ef7f0,
_cmd=<optimized out>) at NSActionCell.m:187
#3 0x000055555555bfdb in -[SMDoubleSliderCell doubleHiValue]
(self=0x5555562ef7f0, _cmd=<optimized out>) at SMDoubleSliderCell.m:448
#4 0x000055555555de93 in -[SMDoubleSliderCell stringHiValue]
(self=0x5555562ef7f0, _cmd=<optimized out>) at SMDoubleSliderCell.m:494
#5 0x00007ffff77d2021 in -[NSCell doubleValue] (self=0x5555562ef7f0,
_cmd=<optimized out>) at NSCell.m:269
#6 0x00007ffff778362a in -[NSActionCell doubleValue] (self=0x5555562ef7f0,
_cmd=<optimized out>) at NSActionCell.m:187
#7 0x000055555555bfdb in -[SMDoubleSliderCell doubleHiValue]
(self=0x5555562ef7f0, _cmd=<optimized out>) at SMDoubleSliderCell.m:448
#8 0x000055555555de93 in -[SMDoubleSliderCell stringHiValue]
(self=0x5555562ef7f0, _cmd=<optimized out>) at SMDoubleSliderCell.m:494
#9 0x00007ffff77d2021 in -[NSCell doubleValue] (self=0x5555562ef7f0,
_cmd=<optimized out>) at NSCell.m:269
#10 0x00007ffff778362a in -[NSActionCell doubleValue] (self=0x5555562ef7f0,
_cmd=<optimized out>) at NSActionCell.m:187
...
The devil's circle goes on and on. Am I right to conclude that
SMDoubleSlider is tightly tied to Apple's implementation and cannot
possibly work on GNUstep? Is there anything I can do except to
disable this functionality?
- SMDoubleSlider usability on GNUstep,
Yavor Doganov <=