Mobileread
PageEdit-0.9.5 Released
#11  KevinH 09-04-2019, 01:44 PM
Good to know!

Thanks,


Quote DiapDealer
If so, it would be a very, very small faction. All of the major players that I would concern myself with are packaging QtWebEngine (though I could have missed a few). Many are behind the curve on Sigil in general, but I haven't seen any I would worry about who didn't have QtWebEngine packages they COULD use to package Sigil if they wanted to (provided the Qt5.9.x bare minimum requirement, of course).
Reply 

#12  eschwartz 09-04-2019, 01:53 PM
I think this should only be the case for FSDG distributions, of which there is a fairly short list to be seen here: https://www.gnu.org/distros/free-distros.html

None of these distributions have WebEngine available at the moment, and thus, none of them can have the most recent Sigil release installed. Once the calibre port is complete, they won't have that either -- this is one of the reasons I would like to finish the Python 3 port sooner rather than later, since regardless of my practical disagreement with them, I think it would be great if they could at least freeze on an old version that supports Python 3, rather than freeze on an old version that is stuck with Python 2.

I've provided guidance to the Parabola developers that they should freeze Sigil at the last version to use Webkit, on the rationale that it shouldn't stop being as useful as it used to be... that is all I can do for them, they will either have to freeze packages at old versions or complete the stalled license review of chromium/webengine.
Reply 

#13  DiapDealer 09-04-2019, 02:28 PM
Quote eschwartz
I've provided guidance to the Parabola developers that they should freeze Sigil at the last version to use Webkit, on the rationale that it shouldn't stop being as useful as it used to be...
Thanks for that. It's easy to forget that 0.9.14 is still a perfectly serviceable epub2/3 editor.

Though I freely admit that I'm a little surprised I'm not at least familiar with the names of any of those distros. As someone who got his *nix start downloading FreeBSD to 3-1/2" floppy's with a 14.4 modem, I'm a little embarrassed (as well as a bit encouraged--at least for Sigil's future).
Reply 

#14  un_pogaz 09-06-2019, 06:03 AM
@KevinH I know how Sigil works, that PageEdit encounters an error in such circumstances does not surprise me. What I wanted to point out is more like the order of a "unhandled exception".
A message "The request file does not exist" will therefore suffice.
Reply 

#15  KevinH 09-06-2019, 07:24 AM
Can't easily be done. Imagine deleting a file during an active file read operation. That is what QtWebengine is facing in PageEdit when you close Sigil. This is not a loss of network situation. The delete can happen just when the page resources are starting to be read from the file. So checking if a file exists is not enough.

And since it is a separate process an on close event handler won't work, and the file reads are being done in separate threads deep inside of QtWebEngine.

I will try to add more file exists checks but deleting any resource as it is being actively loaded is going to still be an issue.
Reply 

#16  un_pogaz 09-06-2019, 08:00 AM
The crash occurs when changing a new document with the navigation buttons (when you are in ereader mode after "opening" the OPF) and not when Sigil closes (it keeps the file in memory and is editable normally, but fails to save it).
PageEdit does not check the existing files when using the navigation buttons and therefore tried to load a non-existent one.

EDIT:
Quote KevinH
I will try to add more file exists checks but deleting any resource as it is being actively loaded is going to still be an issue.
I understand that verifying (other than at the time of saving) the existence of the currently loaded document is unnecessarily complex and exaggerated (and useless since it cannot be saved).

PS: One click before the crash:
2019-09-06_13h57_40.png 
Reply 

#17  KevinH 09-06-2019, 09:13 AM
Does it crash trying to save the modified state or when navigating to the next file?
In other words, if you do not modify anything, is simple navigation to the next file enough to cause the crash?

If so, we can handle that case in UpdatePage.
Reply 

#18  KevinH 09-06-2019, 10:10 AM
Here is what I added to UpdatePage() which gets invoked when you press on a navigation icon or use the navigation menu itself. Please note, this is only a partial fix:

Code
 try { text = Utility::ReadUnicodeTextFile(filename_url); } catch (std::exception &e) { Utility::DisplayStdErrorDialog(tr("File load failed"), e.what()); text = "<html><head><title></title></head><body><h1>" + tr("File Load Failed") + "</h1></body></html>"; file_path = ""; m_CurrentFilePath = ""; }
because between the time we check that the xhtml file still exists and then attempt to load QtWebEngine with the page, any of the separate file resources (external images, styles, fonts, etc) could be deleted causing a load deep inside Qt webengine to possibly hang or worse crash.

Even if I parsed the entire xhtml file to find and build links to every external resource, and checked if they still exist, since file loading is not an atomic operations, the actual timing of the delete will always be an issue.
Reply 

#19  un_pogaz 09-09-2019, 03:50 AM
Yes, it is the navigation (UpdatePage) that causes the crash, so: Thanks.

Personal opinion, if the files disappear during the 20ms between UpdatePage() and the actual loading into QtWebEngine: either you did it voluntarily, or your computer is really crappy.
Reply 

#20  brent63 10-02-2019, 10:57 AM
A Help icon with the PageEdit version Number.

Right now I have to go to explorer and look at the zip file I downloaded and saved in the PageEdit folder.

A notification when a newer version is released.

I only found out that my PageEdit was a couple version outdated when I received a notification the Sigil had an update.

Can a printer feature be added to Pageedit, something that can format the pages to two columns per page and both front and back of sheet?

Thanks
Brent
Reply 

 « First  « Prev Next »  Last »  (2/5)
Today's Posts | Search this Thread | Login | Register