Bug 539356 - Part 16 - Revoke any pending ViewManager flushes when we do one (sometimes we get this called from Will Paint events). r=roc
authorMatt Woodrow <mwoodrow@mozilla.com>
Mon, 11 Jun 2012 16:45:39 +1200
changeset 101178 e9b3d41e036029e4909870748acbf2d3c6526ed8
parent 101177 cef00ebcd6c871bf6c576f20b2ecadc31e1c3cba
child 101179 34e07b09c426eea9b8aa2e86ce991488528edaf3
push id1316
push userakeybl@mozilla.com
push dateMon, 27 Aug 2012 22:37:00 +0000
treeherdermozilla-beta@db4b09302ee2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersroc
bugs539356
milestone16.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 539356 - Part 16 - Revoke any pending ViewManager flushes when we do one (sometimes we get this called from Will Paint events). r=roc
view/src/Makefile.in
view/src/nsViewManager.cpp
--- a/view/src/Makefile.in
+++ b/view/src/Makefile.in
@@ -12,16 +12,18 @@ include $(DEPTH)/config/autoconf.mk
 
 MODULE		= view
 LIBRARY_NAME	= gkview_s
 FORCE_STATIC_LIB = 1
 MODULE_NAME	= nsViewModule
 GRE_MODULE	= 1
 LIBXUL_LIBRARY	= 1
 
+DEFINES += -D_IMPL_NS_LAYOUT
+
 CPPSRCS		= \
 		nsView.cpp \
 		nsViewManager.cpp \
 		$(NULL)
 
 include $(topsrcdir)/config/rules.mk
 
 LOCAL_INCLUDES  = \
--- a/view/src/nsViewManager.cpp
+++ b/view/src/nsViewManager.cpp
@@ -1304,16 +1304,17 @@ nsViewManager::IsPainting(bool& aIsPaint
 void
 nsViewManager::ProcessPendingUpdates()
 {
   if (!IsRootVM()) {
     RootViewManager()->ProcessPendingUpdates();
     return;
   }
 
+  mPresShell->GetPresContext()->RefreshDriver()->RevokeViewManagerFlush();
   ProcessPendingUpdatesForView(mRootView, true);
 }
 
 void
 nsViewManager::UpdateWidgetGeometry()
 {
   if (!IsRootVM()) {
     RootViewManager()->UpdateWidgetGeometry();