08-17-2024, 03:30 PM | #31 | |
just an egg
Posts: 1,673
Karma: 5513644
Join Date: Mar 2015
Device: Kindle, iOS
|
Success! Downloaded Sigil.app-2.3.0-1-Mac-arm64.txz from GitHub the normal way, unpacked and double-clicked.
I got the same "... app downloaded from the Internet. Are you sure you want to open it? ... Apple checked it for malicious software and none was detected" message that I get with most other notarized software I download directly from the Internet, both free and paid, and including calibre, BBEdit, etc. I clicked Open et voilà! Thank you so much for all your efforts. I would have been content to continue overriding the "unverified developer and cannot verify free from malware" warning, but this will reassure new users that Sigil is safe and avoid the other problems you pointed out as Apple tightens its controls Quote:
|
|
08-17-2024, 03:58 PM | #32 |
Sigil Developer
Posts: 8,116
Karma: 5450818
Join Date: Nov 2009
Device: many
|
Glad to hear it! Thank you!
|
08-17-2024, 04:31 PM | #33 |
Grand Sorcerer
Posts: 27,994
Karma: 199013032
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
Woo!
|
08-18-2024, 07:03 AM | #34 |
Grand Sorcerer
Posts: 5,637
Karma: 23191067
Join Date: Dec 2010
Device: Kindle PW2
|
I noticed a cosmetic issue with the Windows version. I'm getting the not well-formed message twice if an epub is missing a doctype. I've attached a simple test case.
(The Mend ... Source Code on Open/Save options were deactivated.) |
08-18-2024, 08:19 AM | #35 | |
Sigil Developer
Posts: 8,116
Karma: 5450818
Join Date: Nov 2009
Device: many
|
Quote:
Thanks for your bug report! |
|
08-18-2024, 02:14 PM | #36 | |
Sigil Developer
Posts: 8,116
Karma: 5450818
Join Date: Nov 2009
Device: many
|
Quote:
This must be a Windows only bug. With Mend on Open set, I get just one warning that said it was already fixed. If I turn off Mend On Open, then all I get is one message that says I need to run Mend myself or fix things manually. No double warnings at all. In fact the ShowLastOpenFileWarnings() routine only shows a warning dialog if warnings exist and after showing then m_LastOpenFileWarnings is cleared. Code:
void MainWindow::ShowLastOpenFileWarnings() { if (!m_LastOpenFileWarnings.isEmpty()) { foreach(QString info, m_LastOpenFileWarnings) { QString msg; QString details; if (!info.isEmpty()) { QStringList warning = info.split(QChar(31)); msg = warning[0]; details = warning[1]; Utility::DisplayStdWarningDialog( "<p><b>" % tr("Warning: ") % msg % "</b><p>", details, this); } } m_LastOpenFileWarnings.clear(); } } Code:
// Get any warnings - if our main window is not currently visible they will be // shown when the window is displayed. m_LastOpenFileWarnings.append(importer->GetLoadWarnings()); if (!m_IsInitialLoad) { ShowLastOpenFileWarnings(); } Code:
if (m_FirstTime && !m_LastOpenFileWarnings.isEmpty()) { QTimer::singleShot(0, this, SLOT(ShowLastOpenFileWarnings())); } There should only be one thread that runs the gui and either it showed or did not show the warnings. So something is strange or there are alternate paths through the code I am not seeing. |
|
08-18-2024, 02:31 PM | #37 |
Sigil Developer
Posts: 8,116
Karma: 5450818
Join Date: Nov 2009
Device: many
|
I just tried loading the no_doctype test case on my current Linux box and it behaved exactly like it does on MacOS with both the Mend on Open box checked and then when unchecked. Each time generated just one warning.
Can anyone else on Windows recreate the double warnings (with Mend on Open NOT checked) and his test case? |
08-18-2024, 02:45 PM | #38 |
Bibliophagist
Posts: 40,060
Karma: 154919858
Join Date: Jul 2010
Location: Vancouver
Device: Kobo Sage, Libra Colour, Lenovo M8 FHD, Paperwhite 4, Tolino epos
|
I also see the double popups on Windows. It does matter whether mend on open is enabled or not.
|
08-18-2024, 02:50 PM | #39 |
Grand Sorcerer
Posts: 27,994
Karma: 199013032
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
Windows and Linux usually mirror each other with these kind of errors. A truly Windows-only bug would be unusual. I'll check when I get near a PC.
|
08-18-2024, 02:54 PM | #40 | |
Sigil Developer
Posts: 8,116
Karma: 5450818
Join Date: Nov 2009
Device: many
|
Quote:
And the only way it can happen is for the second warning to start before the first post has ended (since when it ends it clears itself preventing a second warning) I am just not sure how that is happening. There must either be 2 threads of simultaneous execution, or somehow a call that allows for single execution reentrancy, such as a call to qApp->ProcessEvents Very strange. |
|
08-18-2024, 03:00 PM | #41 | |
Grand Sorcerer
Posts: 5,637
Karma: 23191067
Join Date: Dec 2010
Device: Kindle PW2
|
Quote:
If I first open Sigil and then open the test case via File > Open I get only one message box. |
|
08-18-2024, 03:12 PM | #42 | |
Sigil Developer
Posts: 8,116
Karma: 5450818
Join Date: Nov 2009
Device: many
|
Quote:
Either way, I have ruled out two threads, so it is some form of reentrancy. So I will add a variable to prevent reentrancy. |
|
08-18-2024, 03:32 PM | #43 |
Sigil Developer
Posts: 8,116
Karma: 5450818
Join Date: Nov 2009
Device: many
|
Okay, I tried that on both Linux and Sigil and still no double warnings.
So I can not test if what I have below will fix things or not, but if you do build your own (or maybe BeckyEbook could test it) please try the following changes that should prevent reentrancy in the ShowLastOpenFileWarnings: In Sigil/src/MainUI/MainWindow.cpp in the ShowLastOpenFindWarnings() routine add the first two lines to start that routine and the last line just before it ends. Code:
void MainWindow::ShowLastOpenFileWarnings() { if (m_inShowLastOpenWarnings) return; m_inShowLastOpenWarnings = true; if (!m_LastOpenFileWarnings.isEmpty()) { foreach(QString info, m_LastOpenFileWarnings) { QString msg; QString details; if (!info.isEmpty()) { QStringList warning = info.split(QChar(31)); msg = warning[0]; details = warning[1]; Utility::DisplayStdWarningDialog( "<p><b>" % tr("Warning: ") % msg % "</b><p>", details, this); } } m_LastOpenFileWarnings.clear(); } m_inShowLastOpenWarnings = false; } In Sigil/src/MainUI/MainWindow.h, near the bottom add this next line: Code:
bool m_inShowLastOpenWarnings = false; /** * Holds all the widgets Qt Designer created for us. */ Ui::MainWindow ui; }; |
08-18-2024, 04:08 PM | #44 |
Grand Sorcerer
Posts: 27,994
Karma: 199013032
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
Strange. I couldn't reproduce the issue on my Virtual Windows 10 machines. But I WAS able to do so on a physical Windows 10 machine (only when double-clicking on the epub; just like Doitsu).
I'll test the code changes. |
08-18-2024, 04:19 PM | #45 |
Junior Member
Posts: 7
Karma: 10
Join Date: Sep 2020
Device: Kindle Paperwhite
|
downloaded Sigil.app-2.3.0-1-Mac-arm64.txz (and Sigil.app-2.3.0-1-Mac-x86_64.txz
as well), and unzipped "normally". Yet they both refuse to even start. As 2.3.0 and previous version of Sigil. Such a pity. I'm on a Mac, running MacOS 12.7.6 |
Thread Tools | Search this Thread |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Sigil-1.5.1 Released | DiapDealer | Sigil | 27 | 04-15-2021 10:27 AM |
Sigil-1.2.0 Released | DiapDealer | Sigil | 77 | 07-16-2020 12:55 PM |
Sigil-0.9.7 Released | DiapDealer | Sigil | 90 | 11-10-2016 01:30 PM |
Sigil-0.9.6 Released | DiapDealer | Sigil | 69 | 10-29-2016 10:35 AM |
Sigil-0.8.900 released for testing - Wait for Sigil-0.8.901 | KevinH | Sigil | 106 | 10-04-2015 10:41 AM |