diff --git a/Changes.md b/Changes.md index c28c9895257..927854660c1 100644 --- a/Changes.md +++ b/Changes.md @@ -23,6 +23,8 @@ Fixes - Fixed a bug preventing anything except strings from being copied and pasted. - Fixed likely cause of crash when resizing Spreadsheet column width (#5296). - Reference : Fixed rare reloading error. +- PlugLayout : Fixed lack of update when `layout:customWidget:*` metadata changes. +- Dispatch app : Removed unnecessary and misleading "Execute" button. API --- diff --git a/python/GafferUI/PlugLayout.py b/python/GafferUI/PlugLayout.py index 0f65d6117fd..f0ef601d675 100644 --- a/python/GafferUI/PlugLayout.py +++ b/python/GafferUI/PlugLayout.py @@ -530,6 +530,9 @@ def __parentMetadataChanged( self, key ) : if re.match( self.__layoutName + ":section:.*:summary", key ) : self.__summariesDirty = True self.__updateLazily() + elif re.match( self.__layoutName + ":customWidget:.*", key ) : + self.__layoutDirty = True + self.__updateLazily() def __plugDirtied( self, plug ) : diff --git a/python/GafferUITest/PlugLayoutTest.py b/python/GafferUITest/PlugLayoutTest.py index 599fa4d1363..bcc6d83fad6 100644 --- a/python/GafferUITest/PlugLayoutTest.py +++ b/python/GafferUITest/PlugLayoutTest.py @@ -100,6 +100,9 @@ def testCustomWidgets( self ) : self.assertTrue( isinstance( p.customWidget( "test" ), self.CustomWidget ) ) self.assertTrue( p.customWidget( "test" ).node.isSame( n ) ) + Gaffer.Metadata.registerValue( n, "layout:customWidget:test:widgetType", "" ) + self.assertIsNone( p.customWidget( "test") ) + def testSectionQueries( self ) : n = Gaffer.Node()