Summary: | Crash when pasting emoji characters | ||
---|---|---|---|
Product: | [Applications] calligrawords | Reporter: | Antonio Rojas <arojas> |
Component: | general | Assignee: | Calligra Words Bugs <calligra-words-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | cbo |
Priority: | NOR | Keywords: | triaged |
Version: | 2.9.8 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Antonio Rojas
2015-10-21 08:03:00 UTC
hmmm I can't copy emoji characters or reproduce it Still reproducible in Calligra 3. It happens when using Noto Color Emoji fonts. New backtrace with Qt5: (gdb) bt #0 0x00007ffff78ac8f6 in _int_free () at /usr/lib/libc.so.6 #1 0x00007ffff1537af7 in QScopedPointerDeleter<QRasterizer>::cleanup(QRasterizer*) (pointer=0xc83450) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:60 #2 0x00007ffff1537af7 in QScopedPointer<QRasterizer, QScopedPointerDeleter<QRasterizer> >::~QScopedPointer() (this=0x1fa6e30, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107 #3 0x00007ffff1537af7 in QRasterPaintEnginePrivate::~QRasterPaintEnginePrivate() (this=0x1fa6870, __in_chrg=<optimized out>) at ../../include/QtGui/5.7.0/QtGui/private/../../../../../src/gui/painting/qpaintengine_raster_p.h:277 #4 0x00007ffff1537af7 in QRasterPaintEnginePrivate::~QRasterPaintEnginePrivate() (this=0x1fa6870, __in_chrg=<optimized out>) at ../../include/QtGui/5.7.0/QtGui/private/../../../../../src/gui/painting/qpaintengine_raster_p.h:277 #5 0x00007ffff1521f29 in QRasterPaintEngine::~QRasterPaintEngine() (this=0xbf8f70, __in_chrg=<optimized out>) at painting/qpaintengine_raster.cpp:431 #6 0x00007ffff1324689 in QImageData::~QImageData() (this=0x1f61980, __in_chrg=<optimized out>) at image/qimage.cpp:173 #7 0x00007ffff1324f17 in QImage::~QImage() (this=0x7fffffff8f60, __in_chrg=<optimized out>) at image/qimage.cpp:1040 #8 0x00007ffff15988da in QImageTextureGlyphCache::fillTexture(QTextureGlyphCache::Coord const&, unsigned int, QFixed) (this=<optimized out>, c=..., g=<optimized out>, subPixelPosition=...) at painting/qtextureglyphcache.cpp:325 #9 0x00007ffff1598cc4 in QTextureGlyphCache::fillInPendingGlyphs() (this=this@entry=0x1f79d50) at painting/qtextureglyphcache.cpp:254 #10 0x00007ffff152c60d in QRasterPaintEngine::drawCachedGlyphs(int, unsigned int const*, QFixedPoint const*, QFontEngine*) (this=0xb69470, numGlyphs=2, glyphs=0x7fffffff93d0, positions=0x7fffffff97e0, fontEngine=0x1f5f4d0) at painting/qpaintengine_raster.cpp:2792 #11 0x00007ffff1530cc7 in QRasterPaintEngine::drawTextItem(QPointF const&, QTextItem const&) (this=0xb69470, p=..., textItem=...) at painting/qpaintengine_raster.cpp:3045 #12 0x00007ffff154d2e6 in QPainterPrivate::drawTextItem(QPointF const&, QTextItem const&, QTextEngine*) (this=<optimized out>, p=..., _ti=..., textEngine=0xdaa230) at painting/qpainter.cpp:6509 #13 0x00007ffff13cc43e in QTextLine::draw(QPainter*, QPointF const&, QTextLayout::FormatRange const*) const (this=this@entry=0x7fffffffaa30, p=p@entry=0x7fffffffbea0, pos=..., selection=selection@entry=0x7fffffffa970) at text/qtextlayout.cpp:2599 #14 0x00007ffff13cd11a in QTextLayout::draw(QPainter*, QPointF const&, QVector<QTextLayout::FormatRange> const&, QRectF const&) const (this=0xdabf70, p=0x7fffffffbea0, pos=..., selections=..., clip=...) at text/qtextlayout.cpp:1209 #15 0x00007ffff580d68a in KoTextLayoutArea::paint(QPainter*, KoTextDocumentLayout::PaintContext const&) () at /usr/lib/libkotextlayout.so.15 #16 0x00007fffcb442d2f in () at /usr/lib/qt/plugins/calligra/shapes/calligra_shape_text.so #17 0x00007ffff4969997 in KoShapeContainer::paint(QPainter&, KoViewConverter const&, KoShapePaintingContext&) () at /usr/lib/libflake.so.15 #18 0x00007ffff496f77c in KoShapeManager::paintShape(KoShape*, QPainter&, KoViewConverter const&, KoShapePaintingContext&) () at /usr/lib/libflake.so.15 #19 0x00007ffff496e0d4 in KoShapeManagerPaintingStrategy::paint(KoShape*, QPainter&, KoViewConverter const&, KoShapePaintingContext&) () at /usr/lib/libflake.so.15 #20 0x00007ffff49727ba in KoShapeManager::paint(QPainter&, KoViewConverter const&, bool) () at /usr/lib/libflake.so.15 #21 0x00007fffd958dfe6 in KWCanvasBase::paint(QPainter&, QRectF const&) () at /usr/lib/libwordsprivate.so.15 #22 0x00007fffd959014c in () at /usr/lib/libwordsprivate.so.15 ---Type <return> to continue, or q <return> to quit--- #23 0x00007ffff6984ef8 in QWidget::event(QEvent*) (this=0xe087a0, event=0x7fffffffc250) at kernel/qwidget.cpp:9144 #24 0x00007ffff693de0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0xe087a0, e=0x7fffffffc250) at kernel/qapplication.cpp:3799 #25 0x00007ffff6945581 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffe520, receiver=0xe087a0, e=0x7fffffffc250) at kernel/qapplication.cpp:3556 #26 0x00007ffff757c7f7 in KoApplication::notify(QObject*, QEvent*) () at /usr/lib/libkomain.so.15 #27 0x00007ffff6399df0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=receiver@entry=0xe087a0, event=event@entry=0x7fffffffc250) at kernel/qcoreapplication.cpp:988 #28 0x00007ffff697dcca in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) (event=0x7fffffffc250, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 #29 0x00007ffff697dcca in QWidgetPrivate::sendPaintEvent(QRegion const&) (this=this@entry=0xe08850, toBePainted=...) at kernel/qwidget.cpp:5696 #30 0x00007ffff697e319 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0xe08850, pdev=pdev@entry=0xce4100, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=<optimized out>) at kernel/qwidget.cpp:5636 #31 0x00007ffff697f00c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0xe14860, pdev=pdev@entry=0xce4100, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa3be00) at kernel/qwidget.cpp:5831 #32 0x00007ffff697de84 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0xe14860, pdev=pdev@entry=0xce4100, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=<optimized out>) at kernel/qwidget.cpp:5688 #33 0x00007ffff697f00c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0xe10410, pdev=pdev@entry=0xce4100, siblings=..., index=<optimized out>, index@entry=1, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa3be00) at kernel/qwidget.cpp:5831 #34 0x00007ffff697eef9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0xe10410, pdev=pdev@entry=0xce4100, siblings=..., index=1, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa3be00) at kernel/qwidget.cpp:5818 #35 0x00007ffff697de84 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0xe10410, pdev=pdev@entry=0xce4100, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=<optimized out>) at kernel/qwidget.cpp:5688 #36 0x00007ffff697f00c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0xe07c90, pdev=pdev@entry=0xce4100, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa3be00) at kernel/qwidget.cpp:5831 #37 0x00007ffff697de84 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0xe07c90, pdev=pdev@entry=0xce4100, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=<optimized out>) ---Type <return> to continue, or q <return> to quit--- at kernel/qwidget.cpp:5688 #38 0x00007ffff697f00c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0xd7e050, pdev=pdev@entry=0xce4100, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa3be00) at kernel/qwidget.cpp:5831 #39 0x00007ffff697de84 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0xd7e050, pdev=pdev@entry=0xce4100, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=<optimized out>) at kernel/qwidget.cpp:5688 #40 0x00007ffff697f00c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0x7c6680, pdev=pdev@entry=0xce4100, siblings=..., index=<optimized out>, index@entry=28, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa3be00) at kernel/qwidget.cpp:5831 #41 0x00007ffff697eef9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0x7c6680, pdev=pdev@entry=0xce4100, siblings=..., index=28, index@entry=31, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa3be00) at kernel/qwidget.cpp:5818 #42 0x00007ffff697eef9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0x7c6680, pdev=pdev@entry=0xce4100, siblings=..., index=31, index@entry=34, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa3be00) at kernel/qwidget.cpp:5818 #43 0x00007ffff697eef9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0x7c6680, pdev=pdev@entry=0xce4100, siblings=..., index=34, index@entry=39, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa3be00) at kernel/qwidget.cpp:5818 #44 0x00007ffff697eef9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0x7c6680, pdev=pdev@entry=0xce4100, siblings=..., index=39, index@entry=44, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa3be00) at kernel/qwidget.cpp:5818 #45 0x00007ffff697eef9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0x7c6680, pdev=pdev@entry=0xce4100, siblings=..., index=44, index@entry=45, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa3be00) at kernel/qwidget.cpp:5818 #46 0x00007ffff697eef9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=this@entry=0x7c6680, pdev=pdev@entry=0xce4100, siblings=..., index=45, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa3be00) at kernel/qwidget.cpp:5818 #47 0x00007ffff697de84 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) (this=0x7c6680, pdev=0xce4100, rgn=..., offset=..., flags=flags@entry=5, sharedPainter=sharedPainter@entry=0x0, backingStore=<optimized out>) at kernel/qwidget.cpp:5688 #48 0x00007ffff694e0ca in QWidgetBackingStore::doSync() (this=this@entry=0xa3be00) at kernel/qwidgetbackingstore.cpp:1362 #49 0x00007ffff694e287 in QWidgetBackingStore::sync() (this=0xa3be00) at kernel/qwidgetbackingstore.cpp:1151 #50 0x00007ffff696d0ef in QWidgetPrivate::syncBackingStore() (this=0x7c6680) at kernel/qwidget.cpp:1955 #51 0x00007ffff6984fc8 in QWidget::event(QEvent*) (this=this@entry=0x7c64a0, event=event@entry=0xb6f960) at kernel/qwidget.cpp:9083 ---Type <return> to continue, or q <return> to quit--- #52 0x00007ffff6a8348b in QMainWindow::event(QEvent*) (this=0x7c64a0, event=0xb6f960) at widgets/qmainwindow.cpp:1543 #53 0x00007ffff31f6e6a in KMainWindow::event(QEvent*) () at /usr/lib/libKF5XmlGui.so.5 #54 0x00007ffff3248875 in KXmlGuiWindow::event(QEvent*) () at /usr/lib/libKF5XmlGui.so.5 #55 0x00007ffff693de0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x7c64a0, e=0xb6f960) at kernel/qapplication.cpp:3799 #56 0x00007ffff6945581 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffe520, receiver=0x7c64a0, e=0xb6f960) at kernel/qapplication.cpp:3556 #57 0x00007ffff757c7f7 in KoApplication::notify(QObject*, QEvent*) () at /usr/lib/libkomain.so.15 #58 0x00007ffff6399df0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7c64a0, event=event@entry=0xb6f960) at kernel/qcoreapplication.cpp:988 #59 0x00007ffff639c57d in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0xb6f960, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #60 0x00007ffff639c57d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x6269c0) at kernel/qcoreapplication.cpp:1649 #61 0x00007ffff639c9e8 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1503 #62 0x00007ffff63ee313 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x677520) at kernel/qeventdispatcher_glib.cpp:276 #63 0x00007fffef473587 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #64 0x00007fffef4737f0 in () at /usr/lib/libglib-2.0.so.0 #65 0x00007fffef47389c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #66 0x00007ffff63ee71f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x69ea40, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #67 0x00007ffff639824a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffe480, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210 #68 0x00007ffff63a074c in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1261 #69 0x00007ffff7bd733b in kdemain () at /usr/lib/libkdeinit5_calligrawords.so #70 0x00007ffff7855291 in __libc_start_main () at /usr/lib/libc.so.6 #71 0x000000000040082a in _start () Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! No info has been requested No longer reproducible with 3.2.1 and Qt 5.15.1 |