tdf#138131 don't set enabled if container is already enabled

Change-Id: I46556c7242ad9b5c4c7a8fb923dc87458e56494e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105538
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
diff --git a/extensions/source/propctrlr/browserline.cxx b/extensions/source/propctrlr/browserline.cxx
index 9b45c0c..5f185c5 100644
--- a/extensions/source/propctrlr/browserline.cxx
+++ b/extensions/source/propctrlr/browserline.cxx
@@ -232,17 +232,19 @@ namespace pcr
            }
        }

        void implEnable(weld::Widget* pWindow, sal_uInt16 nEnabledBits, sal_uInt16 nMatchBits)
        {
            if (pWindow)
                pWindow->set_sensitive((nEnabledBits & nMatchBits) == nMatchBits);
        }

        void implEnable(weld::Widget* pWindow, bool bEnable)
        {
            if (pWindow)
            // tdf#138131 get_sensitive comparison as bodge for
            // vcl's recursive Enable behavior
            if (pWindow && pWindow->get_sensitive() != bEnable)
                pWindow->set_sensitive(bEnable);
        }

        void implEnable(weld::Widget* pWindow, sal_uInt16 nEnabledBits, sal_uInt16 nMatchBits)
        {
            bool bEnable = ((nEnabledBits & nMatchBits) == nMatchBits);
            implEnable(pWindow, bEnable);
        }
    }

    void OBrowserLine::implUpdateEnabledDisabled()