Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/04/2021, à 13:57

paulwoisard

[Qt/C++] Segfault sur les liens target="_blank" dans un QWebEnginePage

Bonjour,

Je bosse sur un programme d'accessibilité, j'affiche des pages web dans un QWebEnginePage compris dans un QWebEngineView. Par défaut, le QWebEngine ne suit pas les liens avec l'instruction html target="_blank", j'ai vu un tuto sur le forum de Qt : https://forum.qt.io/topic/93524/qwebeng … s-issue/12 pour les ouvrir dans la même page.

J'ai essayé d'implémenter la même fonction :
dans mywebenginepage.h

class MyWebEnginePage : public QWebEnginePage
{
    Q_OBJECT
public:
    QWebEnginePage *createWindow(MyWebEnginePage::WebWindowType);
};

et dans mywebenginepage.cpp

QWebEnginePage* MyWebEnginePage::createWindow(QWebEnginePage::WebWindowType Type)
{
    return this;
}

et j'ai un beau segfault à chaque appel de QWebEnginePage* MyWebEnginePage::createWindow

voici plus d'info sur le segfault :

paul@paul-MS-7C79:~/qtcreator_project/dvkbuntu-easy-menu-qt$ catchsegv ./dvkbuntu-easy-menu-qt
Icon theme "Yaru" not found.
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
Segmentation fault (core dumped)
*** Segmentation fault
Register dump:

 RAX: 0000000000000000   RBX: 0000564dfdcaeb80   RCX: 0000000000000000
 RDX: 00000000000003e8   RSI: 0000000000000000   RDI: 00007fff42cb8f78
 RBP: 00007fff42cb8f50   R8 : 0000000000000000   R9 : 0000000000000004
 R10: 0000564dfc33a010   R11: 00007f7e68000080   R12: 00007fff42cb8f78
 R13: 00007fff42cb8fb0   R14: 0000564dfdca5da0   R15: 00007fff42cb8f78
 RSP: 00007fff42cb8f10

 RIP: 00007f7eff17e3b2   EFLAGS: 00010246

 CS: 0033   FS: 0000   GS: 0000

 Trap: 0000000e   Error: 00000004   OldMask: 00000000   CR2: 00000068

 FPUCW: 0000037f   FPUSW: 00000000   TAG: 00007f7f
 RIP: 0597e2c3   RDP: 00000000

 ST(0) 0000 0000000000000000   ST(1) 0000 0000000000000000
 ST(2) 0000 0000000000000000   ST(3) 0000 0000000000000000
 ST(4) 0000 0000000000000000   ST(5) ffff b000000000000000
 ST(6) ffff d000000000000000   ST(7) d000 d000000000000000
 mxcsr: 1fa5
 XMM0:  0000000000000000000000001e848000 XMM1:  0000000000000000000000001e848000
 XMM2:  0000000000000000000000001e848000 XMM3:  0000000000000000000000001e848000
 XMM4:  0000000000000000000000001e848000 XMM5:  0000000000000000000000001e848000
 XMM6:  0000000000000000000000001e848000 XMM7:  0000000000000000000000001e848000
 XMM8:  0000000000000000000000001e848000 XMM9:  0000000000000000000000001e848000
 XMM10: 0000000000000000000000001e848000 XMM11: 0000000000000000000000001e848000
 XMM12: 0000000000000000000000001e848000 XMM13: 0000000000000000000000001e848000
 XMM14: 0000000000000000000000001e848000 XMM15: 0000000000000000000000001e848000

Backtrace:
/lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5(_ZNK15QtWebEngineCore14ProfileAdapter13httpUserAgentEv+0x22)[0x7f7eff17e3b2]
/lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5(_ZN15QtWebEngineCore18WebContentsAdapter10initializeEPN7content12SiteInstanceE+0xc9)[0x7f7eff1ab239]
/lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5(+0x7f2612)[0x7f7eff1b3612]
/lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5(+0x225132d)[0x7f7f00c1232d]
/lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5(+0x1f66247)[0x7f7f00927247]
/lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5(+0x211f24f)[0x7f7f00ae024f]
/lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5(+0x2a7adf8)[0x7f7f0143bdf8]
/lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5(+0x2407fc0)[0x7f7f00dc8fc0]
/lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5(+0x2428ae1)[0x7f7f00de9ae1]
/lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5(+0x2429803)[0x7f7f00dea803]
/lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5(+0x242997d)[0x7f7f00dea97d]
/lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5(+0x76f7fb)[0x7f7eff1307fb]
/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN7QObject5eventEP6QEvent+0x1d5)[0x7f7f05d3ccf5]
/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86)[0x7f7f0672aa66]
/lib/x86_64-linux-gnu/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x330)[0x7f7f067340f0]
/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x18a)[0x7f7f05d1093a]
/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData+0x148)[0x7f7f05d135b8]
/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x2def67)[0x7f7f05d68f67]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x27d)[0x7f7efd8b917d]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52400)[0x7f7efd8b9400]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x33)[0x7f7efd8b94a3]
/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x65)[0x7f7f05d68565]
/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x12b)[0x7f7f05d0f4db]
/lib/x86_64-linux-gnu/libQt5Core.so.5(_ZN16QCoreApplication4execEv+0x96)[0x7f7f05d17246]
./dvkbuntu-easy-menu-qt(main+0x6a)[0x564dfbacbaaa]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f7f056c30b3]
./dvkbuntu-easy-menu-qt(+0xabae)[0x564dfbacbbae]

Le code source de mon projet est là : https://github.com/handyopensource/dvkb … y-menu-qt/ et je suis sur Kubuntu 20.04.2 LTS.

Je bloque sur ce point depuis une semaine, j'ai besoin d'aide, par avance merci.

Edit :
J'ai compilé l'Easy Menu sur Kubuntu 20.10, Manjaro et Kubuntu 21.04, et le problème que je rencontre sur kubuntu 20.04 est résolu sur Manjaro et sur Kubuntu 21.04 (non résolu sur Kubuntu 20.10) !
Cela veut dire que cela ne vient pas de moi et de mon code, mais bien de QWebEngineProfile de Kubuntu 20.04 et 20.10 !

J'ai signalé le bug sur Launchpad.net : https://bugs.launchpad.net/ubuntu/+sour … ug/1926065


Actuellement, j'ai une toute petite équipe de bénévoles et on essaye de dév des deux, trois logiciels plus ou moins utile, en voici le site web : https://bit-scripts.github.io/

Hors ligne

#2 Le 26/04/2021, à 17:33

Ayral

Re : [Qt/C++] Segfault sur les liens target="_blank" dans un QWebEnginePage

Modération : Les doublons sont interdits dans le forum. Donc ce fil est fermé, la suite continue dans https://forum.ubuntu-fr.org/viewtopic.p … #p22445780


Pour mettre les retours de commande entre deux balises code, les explications sont là : https://forum.ubuntu-fr.org/viewtopic.php?id=1614731
Blog d'un retraité
Site de graphisme du fiston Loïc
Ubuntu 22.04 LTS sur un Thinkpad W540

Hors ligne