Vorschlag zum Verhindern von GS (Crashes) nach einem skin-relevanten Plugin-Update

  • Hallo


    Wer kennt das nicht ?
    Es gab ein Plugin-Update und dann kommt beim Öffnen des Plugins ständig ein GS weil der User-Skin plötzlich nicht mehr kompatibel ist.


    Ich hätte da einen Vorschlag, wie man sowas zukünftig relativ einfach verhindern könnte.
    Also keinen GS mehr nach einem Plugin-Update wegen eines veralteten, inkompatiblen User-Skin :winking_face:


    In Ergänzung dieser Lösung für den PluginHider hab ich da folgenden aus meiner Sicht recht einfachen Vorschlag.


    DMM müsste nur ein neues screen-Attribue "version" offiziell mit aufnehmen.
    <screen name="..ScreenName.." version="3" position="center,120" size="820,520" ...>
    (bisher erscheint im log noch "WARNING!!!!: unsupported skin attribute version=3")


    Dann müsste es eine neue Standard-Funktion self.getSkinScreenVersion() geben (siehe unten), die die Version des zur Anwendung kommenden Skin-Screens ermittelt.
    Hat man als Programmierer nun eine Skin-relevante Änderung am Code vorgenommen, die nicht mehr mit dem bisherigen Skin kompatibel ist, muss man nur die Screen-Version im internen Plugin-SkinScreen erhöhen und dann in __init__() mit der Funktion self.getSkinScreenVersion() noch gegenprüfen.


    Stimmt die zurückgelieferte Version nicht mit der neuen Versions-Vorgabe im Plugin überein, wird der Plugin-interne Skin-Screen verwendet und nicht der veraltete, inkompatible User-SkinScreen.
    Somit könnte man problemlos einen GS wegen eines veralteten, inkompatiblen SkinScreens verhindern :winking_face:


    Der User kann das aktualisierte Plugin somit weiterhin nutzen und der Skinner hat Zeit zum Nachziehen des Skinupdates. :thumbs_up:


    Das ganze funktioniert jetzt schon mit dem nachfolgenden Code.
    Es wäre nur schöner, wenn DMM diese neue Funktionalität allgemeingültig in ihren Quellcode aufnimmt.


    Function self.getSkinScreenVersion():

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

    16 Mal editiert, zuletzt von Sven H ()