Some screen elements break skin relative references

Issue #218 wontfix
IanSav created an issue

The screens named "NetworkBrowser" (accessed by MENU > Setup > Network > Network Browser) and "WlanScan" (accessed by MENU > Setup > Network > Network Adapter Selection > WLAN Connection > Scan Wireless Networks) in "easy-skin-aus-hd/skin_setup_network.xml" (and possibly others) change the definition of the skin relative reference "~/" from the current skin directory to the plugin's home directory. This means that any images in the skin screen section AND any referenced panels called by this skin screen section also have their base directory changed! This causes errors trying to load any images located within the skin directory.

I would like to mark this bug as a High priority and Major severity because it totally breaks my skinning efforts but accept that this is probably not seen as important in the total scheme of fixes required for the T3. Any priority that can be allocated to fixing skin issues would be very much appreciated.

Reproduction steps

Edit "easy-skin-aus-hd/skin_setup_network.xml" and find the screen named "NetworkBrowser": <screen name="NetworkBrowser" position="0,0" backgroundColor="background" size="1280,720" flags="wfNoBorder" title="Network Neighbourhood"> <panel name="FullScreen2Window" /> <widget source="list" render="Listbox" position="55, 120" size="740,420" zPosition="10" selectionPixmap="easy-skin-aus-hd/menu/on_main_menu_730x70.png" backgroundColor="#41000000" scrollbarMode="showOnDemand" enableWrapAround="1"> <convert type="TemplatedMultiContent"> {"template": [ MultiContentEntryPixmapAlphaTest(pos = (10, 11), size = (48, 48), png = 1), # index 1 is the expandable/expanded/verticalline icon MultiContentEntryText(pos = (70, 9), size = (620, 26), font=2, flags = RT_HALIGN_LEFT, text = 2), # index 2 is the Hostname MultiContentEntryText(pos = (160, 10), size = (520, 25), font=0, flags = RT_HALIGN_LEFT, text = 3), # index 3 is the sharename MultiContentEntryText(pos = (160, 31), size = (520, 17), font=1, flags = RT_HALIGN_LEFT, text = 4), # index 4 is the sharedescription MultiContentEntryPixmapAlphaTest(pos = (65, 11), size = (48, 48), png = 5), # index 5 is the nfs/cifs icon MultiContentEntryPixmapAlphaTest(pos = (110, 11), size = (48, 48), png = 6), # index 6 is the isMounted icon ], "fonts": [gFont("Regular", 22),gFont("Regular", 17),gFont("Regular", 24)], "itemHeight": 70 } </convert> </widget> <widget source="infotext" render="Label" position="55, 580" size="740, 30" zPosition="10" font="Regular;21" halign="center" valign="center" backgroundColor="black" transparent="1"/> <panel name="FullscreenRed2Panel" /> <panel name="FullscreenGreen2Panel" /> <panel name="FullscreenYellow2Panel" /> <panel name="FullscreenBlue2Panel" /> </screen> and add the following: <ePixmap pixmap="easy-skin-aus-hd/menu/mainmenu_tasks_setup_system.png" position="950,100" size="300,500" alphatest=on" /> before the closing </screen> tag. Restart the UI and note that the picture has been added to the display.

Now change the added line to use the relative skin reference: <ePixmap pixmap="~/menu/mainmenu_tasks_setup_system.png" position="950,100" size="300,500" alphatest=on" /> and then restart the UI and note that the picture is no longer displayed. You will also note the error: [ePNG] couldn't open /usr/lib/enigma2/python/Plugins/SystemPlugins/NetworkBrowser/menu/mainmenu_tasks_setup_system.png [Skin] Error: {easy-skin-aus-hd/skin.xml}: pixmap file /usr/lib/enigma2/python/Plugins/SystemPlugins/NetworkBrowser/menu/mainmenu_tasks_setup_system.png not found!. Please contact the skin's author! is logged on the serial port.

You will note that with a relative skin reference the "~/" has been changed from "/usr/share/enigma2/easy-skin-aus-hd/" to "/usr/lib/enigma2/python/Plugins/SystemPlugins/NetworkBrowser/"!

Also note that the four panels reference in this skin will also break if any of their components use relative skin references.

Comments (3)

  1. Ian Brabham
    • removed issue_status
    • removed issue_severity

    The issue was updated with the following change(s):

    • The severity has been updated, from Normal to Major.
    • The status has been updated, from New to Confirmed.
  2. Peter Urbanec
    • removed issue_resolution
    • removed issue_close
    • removed issue_status

    Unfortunately many third party plugins (including NetworkBrowser) use the self.skin_path = plugin_path idiom, which causes this type of breakage.

    I can't think of a way of fixing this issue.

    The issue was updated with the following change(s):

    • The status has been updated, from Confirmed to Rejected.
    • This issue has been closed
    • The resolution has been updated, from Not determined to CAN NOT FIX.
  3. Log in to comment