aboutsummaryrefslogtreecommitdiff
path: root/samplecode/TransitionView.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'samplecode/TransitionView.cpp')
-rw-r--r--samplecode/TransitionView.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/samplecode/TransitionView.cpp b/samplecode/TransitionView.cpp
index 1caff13c9c..e4fa38e974 100644
--- a/samplecode/TransitionView.cpp
+++ b/samplecode/TransitionView.cpp
@@ -77,12 +77,18 @@ protected:
}
virtual bool onEvent(const SkEvent& evt) {
if (evt.isType(gReplaceTransitionEvt)) {
+ SkView* prev = fPrev;
+ prev->ref();
+
fPrev->detachFromParent();
fPrev = (SkView*)SkEventSink::FindSink(evt.getFast32());
(void)SampleView::SetUsePipe(fPrev, SkOSMenu::kOffState);
//attach the new fPrev and call unref to balance the ref in onDraw
this->attachChildToBack(fPrev)->unref();
this->inval(NULL);
+
+ SkASSERT(1 == prev->getRefCnt());
+ prev->unref();
return true;
}
if (evt.isType("transition-done")) {