Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix pixmap renderer not cleared on CHANGED_CLEAR #236

Merged
merged 1 commit into from
Mar 18, 2018

Conversation

prl001
Copy link
Contributor

@prl001 prl001 commented Mar 18, 2018

Clear the pixmap displayed in Components.Renderer.Pixmap when changed()
receives a CHANGED_CLEAR.

CHANGED_CLEAR is issued upstream in sources like Event and EventInfo
when no event can be found, and so this change clears the displayed
pixmap when no pixmap can be found because no upstream event has
been found.

Previously CHANGED_CLEAR was ignored.

Clear the pixmap displayed in Components.Renderer.Pixmap when changed()
receives a CHANGED_CLEAR.

CHANGED_CLEAR is issued upstream in sources like Event and EventInfo
when no event can be found, and so this change clears the displayed
pixmap when no pixmap can be found because no upstream event has
been found.

Previously CHANGED_CLEAR was ignored.
@Huevos Huevos merged commit 414da5c into OpenViX:Dev Mar 18, 2018
ghani-1977 added a commit to ghani-1977/enigma2-3 that referenced this pull request May 25, 2018
* add check config first run for accessibility

* InitNimManager: honor update_slots parameter

When updating multitype tuners we need to honor the update_slots paramater
else we might override unsaved values with default values.

This commit solves an issue with the config erased on non multitype tuners
when using start wizard. Also when tuner type changes, we are not updating
only the tuner affected. This should make tuner type change somehow faster.

* Correctly check enumeration against variable

This commit fixes the following errors detected using PVS-Studio Static Code Analyzer
lib/dvb/scan.cpp	983	err	V768 The enumeration constant 'Modulation_QPSK' is used as a variable of a Boolean-type.
lib/dvb/sec.cpp	1060	err	V768 The enumeration constant 'Polarisation_Vertical' is used as a variable of a Boolean-type.
lib/dvb/sec.cpp	1060	err	V768 The enumeration constant 'Modulation_QPSK' is used as a variable of a Boolean-type.

* iservice: add mising initialize on number

This issue discovered using PVS-Studio Static Code Analyzer.
V730 Not all members of a class are initialized inside the constructor. Consider inspecting: number.

* db: guard against underrun in loadServiceListV5

This issue discovered using PVS-Studio Static Code Analyzer.
V557 Array underrun is possible. The value of 'len - 1' index could reach -1.

* crc32: use system header to define uint32_t

This issue discovered using PVS-Studio Static Code Analyzer.
V677 Custom declaration of a standard 'uint32_t' type. The declaration from system header files should be used instead

* InitNimManager: execute tunerTypeChange when config populated

It seems that running InitNimManager before config.Nims is fully populated
can produce errors now that we honor update_slots parameter.

Keep all tuners require type change on a list and execute tunerTypeChange
as the last step of the InitNimManager.

This commit should fix the following error:
[InitNimManager] tunerTypeChanged error:  'configMode'

* InitNimManager: check multitype detection at the end

Move multitype detection to the bottom, it makes code simpler
since we don't have to keep a list of multitype tuners require
tunerTypeChange.

The tunerTypeChange will be executed as that last step.

* epgcache: fix "use after free" on buf variable

This issue discovered using PVS-Studio Static Code Analyzer.
V774 The 'buf' pointer was used after the memory was released.

* [Standby] fix indent error

* openvix: developer 5.1.020.011

* Add a justLoad option to loadTimer() (passed on to record()) to disable conflict testing on loading. Needed when loading an initial backup, as the tuner configuration isn't necessarily correct then. (OpenViX#222)

* openvix: developer 5.1.020.012

* [MovieSelection] Fixed bug in moviesort.

* [Translations] Update Dutch translation (NL).

* [unicable.xml] Add GT-SAT GT-S3DCSS24

* openvix: developer 5.1.020.013

* openvix: developer 5.1.020.014

* openvix: developer 5.1.020.015

* Set self.MountPath in calculateFielname if it is not set. (OpenViX#231)

* GUIComponent - optimalized code - pass show/hide if it has sense only
use True/False instead 0/1

* Cutlisteditor - added pauseService (=skip frame) under Stop button for rc's with common Playpause button

* picexif: fix memleak on DecodeExifPNG

This issue was detected using scan-build static analyzer.
Potential leak of memory pointed to by 'row'

* openvix: developer 5.1.021.001

* [AVSwitch] Remove Ypbpr from ET8000

* Update et.po

* openvix: developer 5.1.021.002

* Revert "[AVSwitch] Remove Ypbpr from ET8000"

This reverts commit c4ee184.

* [ChannelSelection] Import unicodedata
Fix BSOD following thiscommit OpenViX@01f676b

* [Translations] update de.po

* [InfoBarExtensions] Unnecessary instances of AutoTimer and AutoPoll created (OpenViX#234)

Rewrite the code for the actions on long-GREEN to use the plugin
descriptors to find the function to call rather than by creating
unnecessary new instances of the AutoTimer and AutoPoller.

The attempts in the original code to stop the AutoPoller while
editing fail because they only stop the new instance of AutoPoller,
not the one in the plugin.

* [Timezones] Unnecessary instances of AutoTimer and AutoPoll created (OpenViX#235)

Change Components.Timezones to operate on
Plugins.Extensions.AutoTimer.plugin.autotimer and autopoller instead
of new instances of AutoTimer and AutoPoller.

Make the poll delay after a TZ change symbolic.

The attempts in the original code to stop the AutoPoller while
running AutoTimer.parseEPG() fail because they only stop the new
instance of AutoPoller, not the one in the plugin.

* Fix pixmap renderer not cleared on CHANGED_CLEAR (OpenViX#236)

Clear the pixmap displayed in Components.Renderer.Pixmap when changed()
receives a CHANGED_CLEAR.

CHANGED_CLEAR is issued upstream in sources like Event and EventInfo
when no event can be found, and so this change clears the displayed
pixmap when no pixmap can be found because no upstream event has
been found.

Previously CHANGED_CLEAR was ignored.

* [ValueToPixmap] Fix potential crash (OpenViX#237)

Components.Converter.ValueToPixmap.getPixmap() tests whether
self.source is valid, but if it's not, it continues on to use
an undefined variable (val).

Change the code so that None is returned if self.source is not valid.

* openvix: developer 5.1.021.003

* Setup: Rebuild config list after every change

First this was only don on the Expert/Normal/Advanced level. Now just
like in Menus items could be added and removed instantly from a setup
screen triggered by the configcondition parameter.

So now you can 'hide' e.g. the FallBackTuner URL entry when Fallback
tuner feature is disabled etc.

Conflicts:
	lib/python/Screens/Setup.py

* Do not rebuild setup when editing text and password objects

As this fails...

Conflicts:
	lib/python/Screens/Setup.py

* Setup: Also update list when (leaving) text objects

ToDo: consider to add other text fields and not only standard text and passwords

Conflicts:
	lib/python/Screens/Setup.py

* Setup: Do not add '.value' to configCondition

So we can add more complex evaluations in the setup.xml

Conflicts:
	lib/python/Screens/Setup.py

* [Setup] Remove unused imports

* [Setup.py] Restrict changedEntry to ConfigBoolean and ConfigSelection instances
This includes all subclasses of ConfigBoolean and ConfigSelection, e.g. ConfigYesNo.

* Revert "[elistboxcontent] This reverts...
commit d6f588c.

* elistboxcontent: remove local_style recurring check

This issue discovered using PVS-Studio Static Code Analyzer.

* elistboxcontent: use different name for variable size used in loop

This issue discovered using PVS-Studio Static Code Analyzer.
elistboxcontent.cpp 815 warn V711 It is dangerous to create a local variable within a loop with a same name as a variable controlling this loop.

* elistboxcontent: use smart pointer on variable para

Other instances of para, created using ePtr in order to automatically release memory. One was still using pointer without delete.
Change it ot ePtr in order to release memory automatically.

This issue discovered using PVS-Studio Static Code Analyzer.
elistboxcontent.cpp 453 err V773 Visibility scope of the 'para' pointer was exited without releasing the memory. A memory leak is possible.

* elistboxcontent: add missing initialization for m_saved_cursor

This issue discovered using PVS-Studio Static Code Analyzer.
elistboxcontent.cpp 54 err V730 Not all members of a class are initialized inside the constructor. Consider inspecting: m_saved_cursor.

* [Harddisk] fix Harddisk module crash when devfs type is unknown (#1355)

(cherry picked from commit 39812f4)

* fix RGB structure size on 64bit

* remove empty components.py file

(cherry picked from commit b7aa5da)

Conflicts:
	lib/python/Components/Makefile.am

* processOneEvent: cosmetic fix of wrongly positioned comment line

was introduced in 5518d56

(cherry picked from commit 9a01c80)

* fix eMainLoop iteration timeouts

Fixed bugs:

In processOneEvent(), when user_timeout > 0 but poll_timeout == -1
(because there were no timers for example)
poll was going to infinite wait, but it should abort after user_timeout.

In iterate 'to' variable could become 0 due to rounding.
In this case processOneEvent was getting argument user_timeout=0,
that was treated as infinite poll waiting time.
Now we pass singed integer to processOneEvent()
and zero argument means exiting immediately

TODO:

eMainLoop::poll() interprets zero timeout as infinite wait.
I think twisted reactor use None for that purpose and 0 means no waiting

(cherry picked from commit 680e871)

* Add PyLong_FromUnsignedLongLong ePyObject wrapper

(cherry picked from commit 52127af)

* 	fixed incompatibility with FlashExpander:   LocationBox.py

* gpixmap: use a single threshold for is_a_candidate_for_accel()

Preparing support to configure a custom threshold in the future.

The threshold is measured in bytes, occupied by the surface

NOTE: this is probably how it was intended, having the same
threshold in bytes for 8 and 32 bpp pixmaps.
The original thresholds seem a bit odd, pixelsize 12000 for 8 bpp,
vs 48000 for 32 bpp.
When doing cpu fill or blit, the total time spent is more likely to be
proportional to the number of bytes to be copied or cleared than to
the number of pixels.
Also, accelerated operations on 32bpp surfaces are not likely to be
4 times faster than the same operations on 8bpp surfaces, for the
same number of pixels.
And finally, because the memory available for accelerated surfaces is
limited, it makes sense to use the same size limit for 8 bpp as for
32 bpp pixmaps.

So use a single threshold in bytes, for both 8 bpp and 32 bpp pixmaps.

* gpixmap: add fill accelleration threshold for gColor fill

just like we have for gRGB color fill

* gpixmap: define fill acceleration threshold in bytes

* gpixmap: log blit/fill size

when GPIXMAP_DEBUG is defined

This can help to tweak the threshold values.

* gpixmap: introduce blit acceleration threshold

Until now, we only had a threshold for the entire surface to be
accelerated.
It is possible that we only blit a small portion of the surface, in wich
case it might be faster to use unaccelerated blit, even if the surface
itself is accelerated.

For now, use a default of 0, so the behaviour remains the same:
accelerate all blits on accelerated surfaces, no matter how small the
size of the blit area is.

* gpixmap: add support to calculate optimal acceleration threshold values

by defining GPIXMAP_CHECK_THRESHOLD (together with GPIXMAP_DEBUG),
cpu fill/blit time will be compared with accelerated fill/blit time,
suggestions about modifying the fill/blit thresholds will be made in the
console output

* configure.ac: add configure options for acceleration thresholds

* gpixmap: add option to enable alphablending acceleration

By default, alphablending is disabled in most situations, because
supposedly alphablending is (or was) broken on some hardware.

Prepare the option to enable alphablending, when the hardware supports
it.

* configure.ac: add configure option to select alphablending strategy

--with-alphablendindingacceleration=[auto,always,never]

auto:
default behavior, accelerate only scaled blits and accelerate alphatest
on 8bpp

always:
always accelerate alphablending blits (with the same thresholds as
ordinary blits)

never:
do not attempt to accelerate alphablending blits

* gdi/bcm: fix initialisation of ptr

* gpixmap / accel: add support to accumulate acceleration operations

For now, gpixmap only attempts to accumulate multiple clip rect blit
operations on a single surface.
A quick test shows that up to 16 blits can be accumulated, depending on
the skin.

Accumulation of acceleration operations might be benificial on certain
platforms.

* configure.ac: add option to enable accumulation for accelerated operations

* [gpixmap] fix build/merge error

* [Language.py] corrected local name of Ukrainan:

added Ukrainian layout:   VirtualKeyBoard.py
Conflicts:
	lib/python/Components/Language.py

* Check that the item to be changed exists in the four functions to in/decrement times to avoid a crash. (OpenViX#241)

* Set auto* timers to start in 30 secs on loading, which means it will start its repeating countdown from when enigma2 starts each time rather then waiting until anything left over from the last enigma2 running. (OpenViX#243)

* Fix do_backoff to use the autosleepdelay vakeu for auto* timers. (OpenViX#242)

Also move the timer resetting into the function itself.

* Ensure that the timer repeated field is cleared if we have an autosleeprepeat of "repeated". (OpenViX#240)

* [skin.py] Stop file handle leak (OpenViX#239)

Use the file name rather than file handle version of the xml.etree.cElementTree.parse() call.  This eliminates the need for the file open() call which has no matching close()  method call.

This change also brings the code into alignment with OpenPLi.

* openvix: developer 5.1.022.001

* [elistboxcontent] Fix ConfigText alignment issues

For example, in a ConfigText field when you edit a text string the text relocates to the top of the text box rather than remaining centred. This commit fixes that and similar alignment issues.

* frontend / sec: handle FE_TIMEDOUT while turning motorized systems

With a motorized rotary satellite dish setup, when power measurements
are disabled, a single tune request is issued when the motor starts to
rotate.
Every 250ms, the frontend lock status is checked, and the dish is
assumed to have reached the desired orbital position when it has had a
lock for 5 consecutive times.

However, this only works assuming that frontend drivers (or hardware)
will keep trying to get a lock forever, without using any internal
timeouts.
This is not the case. Most frontend drivers will eventually timeout,
reporting an FE_TIMEDOUT event.

In that case, we would have to wait for the hardcoded overall motor
timeout (of a very conservative two seconds per degree) before we would
attempt to tune again.

Instead, check for and handle FE_TIMEDOUT events, and re-issue the tune
request when a timeout occurs.

* openvix: developer 5.1.022.002

* sec: fix total motor timeout

broken by 6e31c88

* openvix: developer 5.1.022.003

* [elistboxcontent] Graphical switch, fix blending

Fix credit: IanSav

* [Setup] temporary bug fix after merge

* openvix: developer 5.1.023.001

* openvix: developer 5.1.024.001

* openvix: developer 5.1.024.002

* [Ci] add option "Relevant PIDs routing"

And move the SystemInfo to SystemInfo.py
And simplify some code

Thanks Dima73

Conflicts:
	lib/python/Components/SystemInfo.py
	lib/python/Screens/Ci.py

* ConfigList.py: add sanity check

Conflicts:
	lib/python/Components/ConfigList.py

* [ConfigList.py] try/except should no longer be needed

* Revert "[Setup] temporary bug fix after merge"

This reverts commit 7e87007.

* Setup: Rename a variable

This variable name is confusing. It has "config" in the name but the reality is it could be used for any conditional statement. e.g... conditional="1+1==2" would also work in this context.

The variable name used is"conditional" the same as used in skin.py when getting conditions from the .xml file.

* [Setup] Add backwards compatibility for "config" objects in "requires".

In the future config objects can be moved to the conditional attribute of setup.xml and this block can be removed.

* ConfigList - skineable slider

there in skin set under <parameters> "y_offset, space" in pixels:
f.eg: <parameter name="ConfigListSlider" value="4,2"/>, where:
- 1st parameter is y-offset for slider or for frame around slider (affected by 2nd parameter)
- 2nd parameter is space between frame and slider.
If is 2nd parameter set to 0, then frame is not used and 1st parameter is y-offset of slider
- fixed right slider alignment too

* ConfigList - skineable slider changed input from offset to slider height.
-there in skin set under <parameters> "height, space" in pixels:
f.eg: <parameter name="ConfigListSlider" value="22,3"/>, where:
- 1st parameter is slider height
- 2nd parameter is distance of frame around slider
If 2nd parameter is set to 0, then frame is not used

* [config.py] __getattr_ method, sanity test and exception

The __getattr__ method in ConfigSubsection did not check if the attribute being retrieved existed.  This caused a KeyError to be raised instead of the expected AttributeError.  This issue means that the getattr() function could not correctly test for the existence of a config item without causing a crash.  This fix will allow the method to return the attribute if it exists or raise an AttributeError.  The AttributeError allows the getattr() function to be supplied with a default that can be returned to the calling code.

For example: getattr(config.usage, "fred", ConfigText) would crash rather than return the expected ConfigText if config.usage.fred does not exist.  This change fixes the crash and allows getattr() to function as expected.  That is, the definition of "fred" will be returned if it exists or else ConfigText will be returned.

Also fixed the last line of the file to have a newline.
Conflicts:
	lib/python/Components/config.py

* Revert "[config.py] __getattr_ method, sanity test and exception"

This reverts commit 7a40068.

This commit is linked to an OWI crash. Reverted until further investigated.

File "/usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/web.py", line 17, in
from models.services import getCurrentService, getBouquets, getServices, getSubServices, getSatellites, getBouquetEpg, getBouquetNowNextEpg, getServicesNowNextEpg, getSearchEpg, getChannelEpg, getNowNextEpg, getSearchSimilarEpg, getAllServices, getPlayableServices, getPlayableService, getParentalControlList, getEvent, loadEpg, saveEpg
File "/usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/models/services.py", line 25, in
from Plugins.Extensions.OpenWebif.local import tstrings # using the tstrings dic is faster than translating with _ func from init
File "/usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/local.py", line 8, in
AT_unit = config.plugins.autotimer.unit.value == "hour" and _("hour") or _("minute")
File "/usr/lib/enigma2/python/Components/config.py", line 1665, in getattr
AttributeError: Error: Attribute not defined!

* Add an internal function to do the bouquet search in one piece of code. (OpenViX#249)

* Add another check for running out of bouquet info. (OpenViX#250)

* [ChannelSelection] Fix a BSoD.

Use similar "Unicode" implementation from the addbouquets method.

* frontend / scan: add blindscan support

frontend:
Observe a long timeout for blindscan iterations.

scan:
For blindscan, the initial list of transponders does not need to contain
valid transponders.
Each of the provided transponders will be iterated (i.e. tuned with
blindscan parameter) several times until a tune failure occurs. Each
time a blindscan tune iteration returns ok, a new transponder has been
found and will be scanned.
Each transponder in the initial transponder list causes a full blindscan
iteration run.

Some of the parameters of the initial transponders will be used for the
blindscan, but most will be ignored.

For DVB-S, you need to provide a list of 4 transponders for each orbital
position:
one for each polarity (H/V or L/R), one for each band (hi/lo).
The frequency defines the starting frequency within the desired band.
The symbolrate defines the frequency search range, in MHz (frequency /
1000).
The polarity defines on which polarity the search should run.
All remaining transponder parameters will be ignored.
So for each orbital position, 4 blindscan iteration runs will be done,
one for each polarity/band 'quadrant'.

For DVB-C, only one initial transponder has to be provided.
The frequency defines the start of the blindscan.
The symbolrate defines the frequency search range, in MHz (frequency /
1000000).

For DVB-T, usually only one initial transponder has to be provided.
The frequency defines the start of the blindscan.
The bandwidth defines both the search step as well as the search
bandwidth.

TODO: provide a userinterface for blind scan

* dvb specs: use official SDT timeouts

speeds up scanning, especially when transponders without any SI are
found (e.g. used for services which are not advertised)

NOTE: this will probably break nonstandard systems (e.g. Dish Networks),
but instead of increasing overall SDT timeouts, a specific workaround
should be found to scan these systems. (with a custom scan setting for
instance, which increases overall SI timeouts)

* ScanSetup: start DVB-C blindscan for scan with scan_type 'complete'

When the NIM supports blindscan.

Same functionality as some external dvb-c blindscan binaries are
providing, but without having to call an external binary.
The frontend driver/hardware does all the work.

* CI: Graph buttons for some configs instead of lists with yes/np

* [config] add graphic attribute to boolean subclasses

* fix out of bound write.

* [pmtparse] enable c++11.
pmtparse.cpp for's converted to ranged for.

Conflicts:
	configure.ac

* dvb/specs.h: increase SDT timeout with 500ms

the 2s (for 'actual' SDT) according to the specs is found to be just a
little too short on some transponders.

* BufferIndicator: Do not show when stream starts within a sec

And show data received yet when nothing is withing the buffer after a
sec

* BufferIndicator: Do not show buffer when watching normal TV

* [config.py] __getattr_ method, raise attribute error on failure

The __getattr__ method in ConfigSubsection did not check if the attribute being retrieved existed. This caused a KeyError to be raised instead of the expected AttributeError. This issue means that the getattr() function could not correctly test for the existence of a config item without causing a crash. This fix will allow the method to return the attribute if it exists or raise an AttributeError. The AttributeError allows the getattr() function to be supplied with a default that can be returned to the calling code.

For example: getattr(config.usage, "fred", None) would crash rather than return the expected None if config.usage.fred does not exist. This change fixes the crash and allows getattr() to function as expected. That is, the definition of "fred" will be returned if it exists or else None will be returned.

* ConfigList: use VirtualKeyboard only for ConfigText and ConfigPassword config entries

isinstance return true also if classinfo argument is subclass. Therefore now, after this commit OpenPLi/enigma2@bab0151 key_text is displayed and it is possible to call VirtualKeyboard on all configs which has a ConfigText as subclass.
But for example using VirtualKeyboard in ConfigNumber coause GSOD.
Therefore instead of isinstance use __class__.__name__ to check config entry class name and use VirtualKeyboard only for ConfigText and ConfigPassword config entries

* ConfigList: add aditional check if config exist

This fix GSOD when config not exist, for example in NetworkWizard.

Conflicts:
	lib/python/Components/ConfigList.py

* openvix: developer 5.1.024.003

* openvix: developer 5.1.024.004

* [ConfigList] Reinstate try/except

Fixes possible crash in software update.

Try/except was removed by cherry pick.

* openvix: developer 5.1.024.005

* [ActionMap] HelpableActionMaps multiple contexts (OpenViX#253)

Allow HelpableActionMap and HelpableNumberActionMap to accept a list of contexts as well as a single context. This makes it possible to convert ActionMap and NumberActionMap objects to helpable without changing their basic structure. Single-context helpable ActionMaps are retained for backwards compatibility.

Simplify the ActionMap logging, print only one line instead of two for keymap errors.

PEP8 clean-up and fixes.

(This change will be required if the improved Beyonwiz HELP system is ever adopted.)

Most of the code written by Prl for the Beyonwiz image (Nov-2014 - Jan-2015)

* openvix: developer 5.1.024.006

* openvix: developer 5.1.024.007

* AR added 2160p30 for 2160p24

30Hz is easier to convert and for non EU user

* Revert "[ActionMap] HelpableActionMaps multiple contexts (OpenViX#253)"

Reverted until further discussion.

This reverts commit 948c011.

* openvix: developer 5.1.025.001

* [AVSwitch] Add correct video outputs for new Gigablue X3.H.

* [HardwareInfo] Add a few boxes to "is_nextgen"

* openvix: developer 5.1.025.002

* [HardwareInfo] typo

* AR now switches also to 2160 if 1080 is set as default

If default resolution was 1080 AR did not switch to 2160 which is does now
Another possibility is to switch to 2160p25/30 if input is 50/60 so 4K boxes might work with older displays and HDMI 1.4

* openvix: developer 5.1.025.003

* Revert "[HardwareInfo] Add a few boxes to "is_nextgen""

This reverts commit 97b5c85.

Requested by AndyB. Stick to about.getCPUString().

* [HardwareInfo] add to "is_nextgen"

Added "ARMv7". This covers various hardware including VuUltimo4K, VuSolo4K, Octagon SF4008, HD51, etc. Tested on Solo4K, SF4008, and HD51.

* openvix: developer 5.1.025.004

* [Configure.ac] Test a GUI fix for ET-8500.

* openvix: developer 5.1.025.005

* Revert "[Configure.ac] Test a GUI fix for ET-8500."

This reverts commit 7c9879b.

* openvix: developer 5.1.025.006

* [configure] remove rogue amlogic code

* [gpixmap/accel] add some missing code from previous picks.

* openvix: developer 5.1.025.007

* openvix: developer 5.1.025.008

* Test possible GUI fix.

* openvix: developer 5.1.025.009

* Revert "Test possible GUI fix."

This reverts commit 4c81339.

* [SystemInfo] add systeminfo 24hz videomode

* [SystemInfo] detect if rootfs is boot from mmc

* picload: fix 8-bit background filling

For 8-bit images the background filling used a 8-bit value colorindex
in a 32-bit area causing strange background coloring effects.
Thanks IMS for reporting again!

* [servicedvb] setSyncPCR also when there is no audio
It seems that since commit 0d3d4b9
we are setting PCR PID only when there is an audio.

This seems to cause problems in qpip, so better to setSyncPCR just
like we did before.

* [ConfigList] try fix GSOD on ShowHelp and HideHelp (#1437)

* [configure.ac] add glib-2.0 into BASE PKG_CHECK_MODULES
This should problably fix the following error on Travis CI:
base/wrappers.cpp:7:18: fatal error: glib.h: No such file or directory
 #include <glib.h>

* init: add support to pause init

autoinit instances which are added while init is paused will be
initialised in the correct order as soon as init is resumed

* pause init while loading plugins
this ensures that autoinit objects contained in external libraries are
initialised in the correct order

* init: use nullptr for NULL-checking and assignment

This works both for pointers as well as ePtr objects

* [accel] remove newline from debug (#1454)

* [configure] remove c++11 flags from CFLAGS.
It doesn't belong there, it's a C++ feature.

* Test Alphablending fix. Info here: https://forums.openpli.org/topic/59164-gpixmapcpp-horrible-bug/

* openvix: developer 5.1.025.010

* ConfigList: small code optimization for onDeselect

Remove dublicate code and use function onDeselect in ConfigList

Conflicts:
	lib/python/Components/ConfigList.py

* partly reverted 6dfe23c due to a merge mistake

* [ConfigList] Revert to last working version.

Broken by this commit: OpenViX@b84b660

Commit author advised.

* openvix: developer 5.1.025.011

* Revert "Test Alphablending fix. Info here: https://forums.openpli.org/topic/59164-gpixmapcpp-horrible-bug/"

This reverts commit 76606b6.

* gpixmap: fix GFX_SURFACE_ACCELERATION_THRESHOLD checking

do not multiply the surface area with bypp, stride is measured in bytes
(initialized as x * bypp)

this fixes d863eed, which caused the
threshold to be 4 times lower than intended, for 32bpp surfaces.

* openvix: developer 5.1.026.001

* Add Display LED menu to Gigablue X3.H.

* openvix: developer 5.1.026.002

* Revert "[ConfigList] Revert to last working version."

This reverts commit b4dad3e.

* Solve that F1/F2 is not treated as ACSII characters

* ConfigList: code optimization in handleInputHelpers

Removes the duplicate else if condition with the same code.

Conflicts:
	lib/python/Components/ConfigList.py

* ConfigList: add forgotten brackets in previus commit

* ConfigList: another optimization in handleInputHelpers

Use in instead of two checks

* Setup: Optimize some code

Conflicts:
	lib/python/Screens/Setup.py

* Update setup sort configs

Already existed in ViX...

* Setup: Only reposition focus when it is really required

e.g. after change of sort

* Fix HelpWindow position (#1472)

Add functions hideHelp and showHelp in config and use for HelpWindow.
This allow hide and show help_window in ConfigList.
Before that, the onDeselect and onSelect functions were used for it, which delete or add help_window instance.
It breaks the help_window position because it is set only once after the first help_window instance is added.
https://forums.openpli.org/topic/59254-do-commit-comments-get-read/
Conflicts:
	lib/python/Components/ConfigList.py

* openvix: developer 5.1.026.003

* [ConfigList.py] PEP8 clean up

This is a simple PEP8 clean up with no functional changes.
Conflicts:
	lib/python/Components/ConfigList.py

* [ConfigList] fix whitespace errors

* openvix: developer 5.1.026.004

* [Translations] Update Dutch translation (NL).

* Add BH analog clock from PLi.   :D

* [Config] recode to be more streamlined.

* openvix: developer 5.1.026.005

* [TimerLog] Remove button that is not in the actionmap

* [TimerEdit] Fix yellow button not hidden

* [TimerEdit] Fix yellow button not hidden

* openvix: developer 5.1.026.006

* [NetworkSetup] add Really close dialog to 'NetworkInadynSetup'.

* little cleanup.

* [Recordings] fix seek speed config setting.

* [config] recoded onDeselect code slightly, i have left in debug code to be removed later, will make it easier to debug if this works.

* openvix: developer 5.1.027.001

* [MovieSelection] Moved all filemanager code to plugin. As requested, this is to bring the code in line with PLi, thus making merge-operations more easy.
Some remarks:
1- The plugin can be build from the sources @ https://github.com/ims21/MovieManager
2- PLi has this plugin as optional; I suggest to embed it to the image.
3- The plugin requires (at least) one adjustment to make it fully functional in ViX (Menu-->Menu closes instead of opens), hence I suggest to add a corrected copy to the ViX-E2 (just as is the case for several other plugins). From then on it can be easily merged from the original version.

* [MovieSelection] Amendment to last commit. It turns out that the plugin is already on the feeds.
This means the remaining issue is that Menu --> Menu recursive closes the menu instead of opening the menu of the plugin. The reason for that is that in ViX the menu-button is supposed to do just that, as opposed to other images.

I suggest to add this plugin to the default installed plugins.

* [AVSwitch] Video out modes for Gigablue X2.

* Add Display LED menu to Gigablue X2.

* openvix: developer 5.1.027.002

* [MovieSelection] Remove double import.

* [MovieSelection] Inherit from ConfigSelectionScreen

* [MovieSelection] Re-add comment.

* MovieSelection: Comment out some unused code.

* openvix: developer 5.1.027.003

* Revert "[config] recoded onDeselect code slightly, i have left in debug code to be removed later, will make it easier to debug if this works."

This reverts commit 607fb42.

* [config] fix non-immediate notifiers not updating on ConfigElement.save().

* Revert "[config] fix non-immediate notifiers not updating on ConfigElement.save()."

This reverts commit 8d02e47.

This was used in 3 places. All of them are "True".

* [config] set callNotifiersOnSaveAndCancel to True so notifiers so...
... "immediate_feedback = False" notifiers actually work as default.

* [config] add a comment

* openvix: developer 5.1.027.004

* openvix: developer 5.1.027.005

* openvix: developer 5.1.027.006

* [Translation] update de.po

* openvix: developer 5.1.027.007

* Revert "[config] set callNotifiersOnSaveAndCancel to True so notifiers so..."

This reverts commit 86de6d4.

This flag needs to be set in the calling code if required.

* eLabel - return noWrap status (#1513)

* SocketMMI: properly initialize after eAutoInit changes

Since 201e44b the socketmmi.getSocketStateChangedCallbackList(), is called before eAutoInit performed it's job.

Initializing socketmmi on sessionstart solves the crash on early call on socketmmi_get_socket_state_changed_cb_list.

Program received signal SIGSEGV, Segmentation fault.
PSignal::get (this=0xf8) at python/connections.cpp:25
25		if (!m_list)
(gdb) bt
 #0  PSignal::get (this=0xf8) at python/connections.cpp:25
 #1  0x00007fffef658945 in socketmmi_get_socket_state_changed_cb_list (self=<optimized out>) at socket_mmi.cpp:316
....

* [configure] Use AX_CXX_COMPILE_STDCXX_11() to detect/enforce c++11 compiler

* About: parse gstreamer version from opkg info

* 	fixes gstreamer version detection:   About.py (#1505)

* listboxservice: add sanity check in in service center info

Once there is no service handler available (eg type 6000) we need to satinize results
returned by info, because service information can be null.

Once service center info fails to find service handler continue to the next result.

This commit fixes the following issue:
 Program received signal SIGSEGV, Segmentation fault.
 0x00000000005db13d in eListboxServiceContent::getNextBeginningWithChar (this=this@entry=0x11459a0, c=50 '2') at service/listboxservice.cpp:163
 163			service_info->getName(*i, text);
 (gdb) bt
 #0  0x00000000005db13d in eListboxServiceContent::getNextBeginningWithChar (this=this@entry=0x11459a0, c=50 '2') at service/listboxservice.cpp:163
 #1  0x00000000005b98f9 in _wrap_eListboxServiceContent_getNextBeginningWithChar (args=<optimized out>) at python/enigma_python.cpp:34486

* openvix: developer 5.1.027.008

* [LCD.cpp] Remove GigaBlue code
oe-alliance/oe-alliance-core#301

* openvix: developer 5.1.027.009

* Fix and Improve ActionMap (#1483)

* [ActionMap.py] Improve ActionMap initialisation

Use a slightly longer form of initialisation for the ActionMap `__init__`.  This format avoids an issue where the initialisation parameters become persistent across all invocations of this code.  This is inappropriate and undesirable.

In essence the problem with the original code is that it appears to be an efficient way to create a default empty list and dictionary.  What actually happens is that these items get created as a *persistent* objects.  Every invocation of the `__init__` method that doesn't specify the parameters will use that *SAME* (persistent) objects.  Any changes to either object will *persist* (be remembered) and be carried forward into every other invocation of this method!  THIS IS NOT WHAT SHOULD HAPPEN!

Please refer to http://pylint-messages.wikidot.com/messages:w0102 and https://nedbatchelder.com/blog/200806/pylint.html for more details.

* [ActionMap.py] Improve logging messages

ActionMap / keymap errors are now reported in a single log line rather than taking two lines.

* [ActionMap.py] Add HelpableNumberActionMap

Add a HelpableNumberActionMap for action map symmetry.

* [ActionMap.py] Improve HelpableActionMap initialisation

Use a slightly longer form of initialisation for the HelpableActionMap `__init__`.  This format avoids an issue where the initialisation parameters become persistent across all invocations of this code.  This is inappropriate and undesirable.

In essence the problem with the original code is that it appears to be an efficient way to create a default empty dictionary.  What actually happens is that this item gets created as a *persistent* object.  Every invocation of the `__init__` method that doesn't specify the parameter will use that *SAME* (persistent) object.  Any changes to the object will *persist* (be remembered) and be carried forward into every other invocation of this method!  THIS IS NOT WHAT SHOULD HAPPEN!

Please refer to http://pylint-messages.wikidot.com/messages:w0102 and https://nedbatchelder.com/blog/200806/pylint.html for more details.

* [ActionMap.py] PEP8 code tidy up

Perform a PEP8 clean up of the code and comments.

Conflicts:
	lib/python/Components/ActionMap.py

Also removed some duplicated code.

* ActionMap: Remove not required work-a-round

Why put in a work-a-round for a non issue. It is in the code there from
2005 and it never harms. So why making the code here more complicated
then required.
I also do think the dangerous issue as described here http://pylint-messages.wikidot.com/messages:w0102 and https://nedbatchelder.com/blog/200806/pylint.html are not effective anymore -or- at least not in scope here, If they are still in scope we need to make a lot of changes in E2s python code.

When I really 'miss the boat' here please let us know so we consider to
revert this commit

In addition when e.g. the prameters are mandatory fields (always a need
here) we could better not give them a default at all...

Conflicts:
	lib/python/Components/ActionMap.py

* [ActionMap.py] Add multiple contexts to HelpableActionMaps (#1538)

Allow HelpableActionMap and HelpableNumberActionMap to accept a list of contexts as well as a single context.  This makes it possible to convert ActionMap and NumberActionMap objects to helpable without changing their basic structure.  Single-context helpable ActionMaps are retained for backwards compatibility.

This change was held back to allow for an issue with the CSFD plugin to be corrected.  I am told by Ims21 that the issue has now been corrected.

* [ActionMap.py] Clean up comments (#1539)

Clean up the documentation comments as suggested / requested by Littlesat.

* [ActionMap.py] Correct persistent initialisation (#3)

This change avoids the possibility of future incorrect code execution due to the use on persistent initialisation.  This code will ALWAYS be safe to use.

* Solve issue where ConfigBoolean graphics where not always show

Thanks IMS for helping here

* Remove not required declaration of self.graphic

* Fixes bug introduced with c2a78fb (#1506)

German DVB subtitles use 0x24 and were removed from the list of subtitles. So users couldn't activate them.

* NumericalTextInputHelp - automatically sets the font size by content. (#1515)

* NumericalTextInputHelp - automatically sets the font size by content.
 - all fields must be the same width

* Default skin - small columns extensions for NumericalTextInputHelp

* NumericalTextInputHelp - clear code - removed redundant nowrap stuff

* NumericalTextInputHelp - clear code

* NumericalTextInputHelp - next clear code

* NumericalTextInputHelpDialog - limit for low fontsize

Conflicts:
	non existent data/skin_default.xml

* MovieContextMenu - added missing title (#1549)

* openvix: developer 5.1.028.001

* [Translations] Update Dutch translation (NL).

* [Setup] Inforbar EPG reword options
The option is to select whether you navigate within a single or multipple bouquets. Nothing to do with text or graphics.

* [Setup] GraphicalEPG missing "to"

* Revert "[Setup] Inforbar EPG reword options"

This reverts commit c340a7d.

* Revert "[Setup] GraphicalEPG missing "to""

This reverts commit 398ab40.

* sec: fix rotor timeout jump

broken by 6e31c88
the jump was one off, because an additional state has been introduced

This would cause the tune process to be terminated (without any user
interface feedback), when rotating to a non-working transponder

* picload: guard against incomplete reads

The read is not guaranteed to return the bytes we requested.
Instead of assuming that read calls are sucessfull, check that we get the bytes requested.

In some cases an eDebug was added, at least to help tracing issue with bad image files.

Finally this commit solves several unsused-result warnings, but there are still many to go.

* openvix: developer 5.1.028.002

* Restore InfobarEPG text view mode (OpenViX#258)

* [UsageConfig.py] Restore Infobar EPG Text mode

This change restores the Text Multi channel display mode to the InfobarEPG.

* [setup.xml] Improve InfobarEPG help prompt

Update the available options and improve the language for the "View mode" help text prompt.

* [setup.xml] Improve InfobarEPG help prompt (OpenViX#257)

Improve the language for the "View mode" help text prompt.

* [Translations] Update Dutch translation (NL).

* openvix: developer 5.1.028.003

* [upgrade] update kmod before kernel modules due to the depmod dependency

* added fb lcd grab to png (#1557)

* grab LCD - cleared code - removed unnecessary variable and funtion, (#1558)

save to file put to standallone function and added posibility save as bmp too

* fblcd - add debug message, replaced fprintf message with (#1560)

eDebug, fixed library import.

* fblcd: define PNG_SKIP_SETJMP_CHECK

This commit allows to build again using libpng12 available on Travis-CI.
We already using PNG_SKIP_SETJMP_CHECK in the following files:
lib/gdi/epng.cpp:#define PNG_SKIP_SETJMP_CHECK
lib/gdi/picload.cpp:#define PNG_SKIP_SETJMP_CHECK
lib/gdi/picexif.cpp:#define PNG_SKIP_SETJMP_CHECK

* demux: lower eWarning to eDebug in eDVBPESReader ctor

There is no need to warn every time we create eDVBPESReader about opening demux.
If demux opening fails then we will get the real warning.

* dvb: eDVBUsbAdapter check pipe return value

This commit fixes the following warning:
dvb/dvb.cpp:428:14: warning: ignoring return value of 'int pipe(int*)', declared with attribute warn_unused_result [-Wunused-result]

* bsod: fix sign compare warning

This commit fixes the following warning:
bsod.cpp:313:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (cnt = 1; cnt < size; ++cnt)
@prl001 prl001 deleted the Fix-pixmap-renderer branch August 27, 2019 00:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants