WIP What I was working on before Xmas - A Cerberus-X Preview

dawlane

Active Member
CX Code Contributor
And Ted doesn't crash here.
I dose actually crash on exit, but you wouldn't notice it as it crashes right at the end when freeing the web page. But I did nail it down to something so so stupid I'm kicking my self for not remembering to do it in the first place.

Note to self: Must remember that when deriving a class to ensure that the ancestor parent is included. :rolleyes:
I'm putting it down to being a ceoliac suffer and brain fog caused by eating gluten.
 

dawlane

Active Member
CX Code Contributor
Only needs four changes.
mainwindow.h
C++:
class HelpView : public QWebEngineView{
    Q_OBJECT
public:
    HelpView(QWidget *parent=Q_NULLPTR): QWebEngineView( parent ){}
C++:
class WebEnginePage : public QWebEnginePage
{
    Q_OBJECT
public:
    WebEnginePage(QObject *parent=Q_NULLPTR): QWebEnginePage( parent ){}
then in mainwindow.cpp
C++:
        if( !helpView ){
            helpView=new HelpView(_mainTabWidget);
// DAWLANE Qt 5.6+ supported
#if QT_VERSION>0x050501
            // QWebEnginePage already uses links.
            // Uncomment these to set the QWebEnginePage so you can over-ride acceptNavigationRequest to open external browsers.
            helpView->setPage(new WebEnginePage(helpView));
            //connect( helpView,SIGNAL(linkClicked(QUrl)),SLOT(onLinkClicked(QUrl)) );
There is still one annoying thing that shows up in debug mode with QWebEngine.
ERROR:process_win.cc(135)] Unable to terminate process: Access is denied. (0x5)

Note: There are four files in the ted sources in GH that need to be removed.
ui_finddialog.h
ui_findinfilesdialog.h
ui_mainwindow.h
ui_prefsdialog.h

If, these are there. They will stop new ui mods from being updated. Some how they got in when I was compiling from the command line.

Updates to the WIP of ted. Windows 32bit+src.
 

dawlane

Active Member
CX Code Contributor
Seems to be only a problem when there was a leak before.
That's the trick though. It's finding out what part of the code is causing it. The QWebEngineView and QWebEnginePage are leaving no trace, according to VLD. The only leaks it found were the one's that M.S didn't bother to sort.

The error is happening when the HelpView (aka QWebEngineView) is being deleted by closing a tab or exiting Ted and trying to shutdown QtWebEngineProcess.
 
Last edited:

dawlane

Active Member
CX Code Contributor
helpView=new HelpView(_mainTabWidget);
Had a reread of the Qt docs Widgets assigned to a tab should not have a parent, so should be helpView=new HelpView().
I will also have to double check that there are no stray assigned parents.

Thanks, tried to merge them but there are link errors regarding the audio and image viewer. Also a non existing var called NO_AUDIO_PLAYER.
What method are you using to merge? GIT or a merge tool?
When it comes to merging, I find Meld to be one of the better visual tools.

[6460:13416:0113/103916.190:ERROR:process_win.cc(135)] Unable to terminate process: Access is denied. (0x5)
Is still a bit of a problem, but doesn't look like it cause any major issues. The QWebEngineProcess.exe is still terminated when a QWebEngineView is destroyed.

I've written some simple test code where I've derived QTabWidget, made the the QWebEngineView a member where it's never deleted and any other tab is added and remove within the derived class. So far I've not seen any errors, unless a a parent object was passed. Which is leading me to believe that the issue has to do with the QwebEngineView being deleted every time one of the main widgets is being removed.

I will have to see if I can adapt it to Ted, but it could mean a big rewrite of most of the code.
 

dawlane

Active Member
CX Code Contributor
Your version is a 32bit app again?
No. It will be 64bit.
Ted was compiled as 32 bit for testing. In case there were issues finding audio codecs for 64bit.
The main ones that Cerberus uses can be found, apart for the codec for m4a. I cannot get dbpoweramp to install on my system.

Ted virtually falls apart after Qt 5.9.7:
Issues with browsing help and the project file browser completely messes up.
 
Last edited:
Top Bottom