From: <cl...@vh...> - 2005-11-07 09:28:31
|
Author: clasohm Date: 2005-11-07 10:27:08 +0100 (Mon, 07 Nov 2005) New Revision: 973 Modified: trunk/ccm-core/src/com/arsdigita/bebop/PageState.java Log: changed PageState.setVisible() to only invalidate the visibility cache when visibility of a component has actually changed, to improve performance of the CMS Authoring tab Modified: trunk/ccm-core/src/com/arsdigita/bebop/PageState.java =================================================================== --- trunk/ccm-core/src/com/arsdigita/bebop/PageState.java 2005-11-05 23:44:53 UTC (rev 972) +++ trunk/ccm-core/src/com/arsdigita/bebop/PageState.java 2005-11-07 09:27:08 UTC (rev 973) @@ -509,12 +509,16 @@ int i = indexOf(c); if (v) { + if (!m_invisible.get(i)) + return; m_invisible.clear(i); } else { + if (m_invisible.get(i)) + return; m_invisible.set(i); } if (s_log.isInfoEnabled()) { - s_log.info("Marking visibility parameter as dirty " + m_request); + s_log.info("Marking visibility parameter as dirty " + m_request + " because of component " + c); } // Do this only in toURL since the RLE is expensive //m_pageState.put(Page.INVISIBLE, encodeVisibility(m_invisible)); |