When moving to the last page of the following PDF document, https://dx.doi.org/10.1109/TSE.1985.232210,
xournal++ hangs (segfaults). You can try to move to the last page either by scrolling
or by setting the page number in the spinpage box, the result will be the same.
After some debugging, I narrowed it down to the latest statement of Layout::updateVisibility():
this->view->getControl()->firePageSelected(mostPageNr). For some reason, this was triggering an
infinite storm of events.
Currently, the updateVisility() is always creating a page selected event, even if there is no
change in page visibility. My solution was to fire the event only if a change occurred
in the visibility.
I used std::optional for the variable mostPageNr. If it was not changed by updateVisibility()'s
algorithm, we do not fire the event that depends upon on mostPageNr's value.
* New translations Chinese Simplified from Crowdin [skip ci]
New translations Chinese Traditional from Crowdin [skip ci]
New translations Croatian from Crowdin [skip ci]
New translations Czech from Crowdin [skip ci]
New translations Dutch from Crowdin [skip ci]
New translations Finnish from Crowdin [skip ci]
New translations French from Crowdin [skip ci]
New translations German from Crowdin [skip ci]
New translations Greek from Crowdin [skip ci]
New translations Greek from Crowdin [skip ci]
New translations Klingon from Crowdin [skip ci]
New translations Polish from Crowdin [skip ci]
New translations Portuguese, Brazilian from Crowdin [skip ci]
New translations Romanian from Crowdin [skip ci]
New translations Russian from Crowdin [skip ci]
New translations Spanish from Crowdin [skip ci]
New translations Turkish from Crowdin [skip ci]
* New translations Chinese Traditional, Hong Kong from Crowdin [skip ci]
* New translations Afrikaans from Crowdin [skip ci]
* New translations Ukrainian from Crowdin [skip ci]
* New translations Swedish from Crowdin [skip ci]
* New translations Serbian (Cyrillic) from Crowdin [skip ci]
* New translations Portuguese from Crowdin [skip ci]
* New translations Norwegian from Crowdin [skip ci]
* New translations Korean from Crowdin [skip ci]
* New translations Japanese from Crowdin [skip ci]
* New translations Hungarian from Crowdin [skip ci]
* New translations Hebrew from Crowdin [skip ci]
* New translations English from Crowdin [skip ci]
* New translations Danish from Crowdin [skip ci]
* New translations Catalan from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Arabic from Crowdin [skip ci]
* New translations Romanian from Crowdin [skip ci]
* New translations Italian from Crowdin [skip ci]
* New translations Finnish from Crowdin [skip ci]
* New translations German from Crowdin [skip ci]
* New translations Chinese Simplified from Crowdin [skip ci]
* New translations Czech from Crowdin [skip ci]
* New translations Chinese Traditional from Crowdin [skip ci]
* New translations Croatian from Crowdin [skip ci]
* New translations Dutch from Crowdin [skip ci]
* New translations French from Crowdin [skip ci]
* New translations Turkish from Crowdin [skip ci]
* New translations Greek from Crowdin [skip ci]
* New translations Klingon from Crowdin [skip ci]
* New translations Polish from Crowdin [skip ci]
* New translations Portuguese, Brazilian from Crowdin [skip ci]
* New translations Russian from Crowdin [skip ci]
* New translations Spanish from Crowdin [skip ci]
* New translations Vietnamese from Crowdin [skip ci]
* New translations Chinese Traditional, Hong Kong from Crowdin [skip ci]
* New translations Afrikaans from Crowdin [skip ci]
* New translations Ukrainian from Crowdin [skip ci]
* New translations Swedish from Crowdin [skip ci]
* New translations Serbian (Cyrillic) from Crowdin [skip ci]
* New translations Portuguese from Crowdin [skip ci]
* New translations Norwegian from Crowdin [skip ci]
* New translations Korean from Crowdin [skip ci]
* New translations Japanese from Crowdin [skip ci]
* New translations Hungarian from Crowdin [skip ci]
* New translations Hebrew from Crowdin [skip ci]
* New translations English from Crowdin [skip ci]
* New translations Danish from Crowdin [skip ci]
* New translations Catalan from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Arabic from Crowdin [skip ci]
* New translations Romanian from Crowdin [skip ci]
* New translations Italian from Crowdin [skip ci]
* New translations Finnish from Crowdin [skip ci]
* New translations German from Crowdin [skip ci]
* New translations Chinese Simplified from Crowdin [skip ci]
* New translations Czech from Crowdin [skip ci]
* New translations Chinese Traditional from Crowdin [skip ci]
* New translations Croatian from Crowdin [skip ci]
* New translations Dutch from Crowdin [skip ci]
* New translations French from Crowdin [skip ci]
* New translations Turkish from Crowdin [skip ci]
* New translations Greek from Crowdin [skip ci]
* New translations Klingon from Crowdin [skip ci]
* New translations Polish from Crowdin [skip ci]
* New translations Portuguese, Brazilian from Crowdin [skip ci]
* New translations Russian from Crowdin [skip ci]
* New translations Spanish from Crowdin [skip ci]
* New translations Vietnamese from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Greek from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations German from Crowdin [skip ci]
* New translations Hungarian from Crowdin [skip ci]
* New translations Hungarian from Crowdin [skip ci]
* New translations Chinese Simplified from Crowdin [skip ci]
* New translations Hungarian from Crowdin [skip ci]
* New translations Chinese Simplified from Crowdin [skip ci]
* New translations Chinese Simplified from Crowdin [skip ci]
* New translations Chinese Simplified from Crowdin [skip ci]
* New translations Chinese Simplified from Crowdin [skip ci]
* New translations Chinese Simplified from Crowdin [skip ci]
* New translations Chinese Simplified from Crowdin [skip ci]
* New translations Chinese Simplified from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Basque from Crowdin [skip ci]
* New translations Polish from Crowdin [skip ci]
* New translations Polish from Crowdin [skip ci]
* New translations French from Crowdin [skip ci]
* New translations French from Crowdin [skip ci]
* New translations Chinese Simplified from Crowdin [skip ci]
kpsewhich could not be found because GTK on windows needs to use the
`gspawn-win32-helper` program to spawn processes.
This commit also improves kpsewhich error reporting.
The 'zoomWidgetPosX' and 'zoomWidgetPosY' are actually offsets, not
positions, and the current code was not taking that into account when
setting the variables.
In addition, I don't believe the size of the toolbars (essentially
'wx' and 'wy' from what I can tell) are relevant. I tested and found
less scrolling when these were removed.