discuss-gnustep
[Top][All Lists]
Advanced

[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?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]