On 2020-08-12 22:39, Stephan Witt wrote:
Am 12.08.2020 um 22:06 schrieb Daniel <xraco...@gmx.de>:
On 2020-08-12 17:04, Richard Kimberly Heck wrote:
On 8/12/20 7:43 AM, Daniel wrote:
Does anyone know how to get the QFont from a "Font const & font"? I tried
fi = font.fontInfo();
with
1. getFont(fi)
and also
2. getFont(fi.realize(sane_font))
But always get a SIGSEGV within LyX.
What exactly is the error with the latter?
Riki
I get the message below. I am still not ably to create a backtrace. But the
attached patch causes the issue for me when I open the text properties dialog.
Now, oddly enough only the first time I open it…
… this is the assertion for a non-realized font:
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
frame #0: 0x00007fff599df2c2 libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x00000001059c580d libsystem_pthread.dylib`pthread_kill + 284
frame #2: 0x00007fff599496a6 libsystem_c.dylib`abort + 127
* frame #3: 0x000000010039218f LyX`lyx::lyx_exit(exit_code=1) at
LyX.cpp:275:2
frame #4: 0x0000000100593dd7 LyX`boost::assertion_failed(expr="false", function="void
lyx::doAssertWithCallstack(bool)", file="/Users/stephan/git/lyx/src/support/lassert.cpp",
line=44) at boost.cpp:47:2
frame #5: 0x000000010106cc1b LyX`lyx::doAssertWithCallstack(value=false)
at lassert.cpp:44:3
frame #6: 0x000000010106d3a2 LyX`lyx::doAssert(expr="false",
file="/Users/stephan/git/lyx/src/frontends/qt/GuiFontLoader.cpp", line=132) at
lassert.cpp:53:2
frame #7: 0x0000000100ce6f75 LyX`lyx::frontend::(anonymous
namespace)::fontinfo(f=0x00007ffeefbf6178) at GuiFontLoader.cpp:132:9
frame #8: 0x0000000100ce7185
LyX`lyx::frontend::getFont(f=0x00007ffeefbf6178) at GuiFontLoader.cpp:469:9
frame #9: 0x0000000100bd172a
LyX`lyx::frontend::GuiCharacter::paramsToDialog(this=0x000000011e12bef0,
font=0x000000011e12c0c0) at GuiCharacter.cpp:616:16
frame #10: 0x0000000100bd4655
LyX`lyx::frontend::GuiCharacter::initialiseParams(this=0x000000011e12bef0,
(null)="") at GuiCharacter.cpp:675:2
frame #11: 0x0000000100b33db0
LyX`lyx::frontend::Dialog::showData(this=0x000000011e12bef0, data="") at
Dialog.cpp:139:7
frame #12: 0x0000000100e9d971
LyX`lyx::frontend::GuiView::doShowDialog(this=0x000000011b965eb0,
qname=0x00007ffeefbf6538, qdata=0x00007ffeefbf6530, inset=0x0000000000000000)
at GuiView.cpp:4852:12
frame #13: 0x0000000100e9e0e3
LyX`lyx::frontend::GuiView::qt_static_metacall(_o=0x000000011b965eb0,
_c=InvokeMetaMethod, _id=16, _a=0x00007ffeefbf64d0) at moc_GuiView.cpp:172:22
frame #14: 0x000000010553363a QtCore`QMetaObject::activate(QObject*, int,
int, void**) + 2298
frame #15: 0x0000000100e9d835
LyX`lyx::frontend::GuiView::triggerShowDialog(this=0x000000011b965eb0,
_t1=0x00007ffeefbf6538, _t2=0x00007ffeefbf6530, _t3=0x0000000000000000) at
moc_GuiView.cpp:259:5
frame #16: 0x0000000100e9d777 LyX`lyx::frontend::GuiView::showDialog(this=0x000000011b965eb0,
name="character", sdata="", inset=0x0000000000000000) at GuiView.cpp:4834:2
frame #17: 0x0000000100e93c29
LyX`lyx::frontend::GuiView::dispatch(this=0x000000011b965eb0,
cmd=0x000000011ba08ac8, dr=0x00007ffeefbf9fd0) at GuiView.cpp:4412:5
frame #18: 0x0000000100b74135
LyX`lyx::frontend::GuiApplication::dispatch(this=0x0000000106a13930,
cmd=0x000000011ba08ac8, dr=0x00007ffeefbf9fd0) at GuiApplication.cpp:2094:19
frame #19: 0x0000000100b6dd5d
LyX`lyx::frontend::GuiApplication::dispatch(this=0x0000000106a13930,
cmd=0x000000011ba08ac8) at GuiApplication.cpp:1409:3
The value of f in frame #7 is:
(lldb) print f
(const lyx::FontInfo) $0 = {
family_ = IGNORE_FAMILY
series_ = IGNORE_SERIES
shape_ = IGNORE_SHAPE
size_ = IGNORE_SIZE
style_ = IGNORE_STYLE
color_ = Color_ignore
background_ = Color_ignore
paint_color_ = (baseColor = Color_none, mergeColor = Color_ignore)
emph_ = FONT_OFF
underbar_ = FONT_IGNORE
strikeout_ = FONT_IGNORE
xout_ = FONT_IGNORE
uuline_ = FONT_IGNORE
uwave_ = FONT_IGNORE
noun_ = FONT_OFF
number_ = FONT_IGNORE
nospellcheck_ = FONT_OFF
}
Stephan
I don't know the solution to the problem. I thought .realize(sane_font)
is supposed to avoid that...
--
Daniel
--
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel