1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-19 14:25:11 +03:00

Screenshots on X10 / X12S were not always working (thanks Lothar for the new report)

This commit is contained in:
Bertrand Songis 2019-11-14 11:53:46 +01:00
parent 8ae2af3347
commit 0d1761d7ad
No known key found for this signature in database
GPG key ID: F189F79290FEC50F

View file

@ -289,13 +289,14 @@ void guiMain(event_t evt)
lcdRefreshWait(); // WARNING: make sure no code above this line does any change to the LCD display buffer!
#endif
bool screenshotRequested = (mainRequestFlags & (1u << REQUEST_SCREENSHOT));
if (!refreshNeeded) {
DEBUG_TIMER_START(debugTimerMenus);
while (true) {
// normal GUI from menus
const char * warn = warningText;
uint8_t menu = popupMenuItemsCount;
static bool popupDisplayed = false;
if (warn || menu) {
if (popupDisplayed == false) {
@ -305,7 +306,7 @@ void guiMain(event_t evt)
lcdStoreBackupBuffer();
TIME_MEASURE_STOP(storebackup);
}
if (popupDisplayed == false || evt) {
if (popupDisplayed == false || evt || screenshotRequested) {
popupDisplayed = lcdRestoreBackupBuffer();
if (warn) {
DISPLAY_WARNING(evt);
@ -358,7 +359,7 @@ void guiMain(event_t evt)
DEBUG_TIMER_STOP(debugTimerMenus);
}
if (mainRequestFlags & (1u << REQUEST_SCREENSHOT)) {
if (screenshotRequested) {
writeScreenshot();
mainRequestFlags &= ~(1u << REQUEST_SCREENSHOT);
}