| Index: src/core/SkPixelRef.cpp
 | 
| diff --git a/src/core/SkPixelRef.cpp b/src/core/SkPixelRef.cpp
 | 
| index c73c2f4b7dc3db2487a4d18e19b972d50b0a970f..a5d6c71778b66ddd4b1ec8d44ebdb698f12d8f7c 100644
 | 
| --- a/src/core/SkPixelRef.cpp
 | 
| +++ b/src/core/SkPixelRef.cpp
 | 
| @@ -5,6 +5,7 @@
 | 
|   * found in the LICENSE file.
 | 
|   */
 | 
|  
 | 
| +#include "SkBitmapCache.h"
 | 
|  #include "SkPixelRef.h"
 | 
|  #include "SkThread.h"
 | 
|  
 | 
| @@ -214,12 +215,18 @@ void SkPixelRef::addGenIDChangeListener(GenIDChangeListener* listener) {
 | 
|      *fGenIDChangeListeners.append() = listener;
 | 
|  }
 | 
|  
 | 
| +// we need to be called *before* the genID gets changed or zerod
 | 
|  void SkPixelRef::callGenIDChangeListeners() {
 | 
|      // We don't invalidate ourselves if we think another SkPixelRef is sharing our genID.
 | 
|      if (fUniqueGenerationID) {
 | 
|          for (int i = 0; i < fGenIDChangeListeners.count(); i++) {
 | 
|              fGenIDChangeListeners[i]->onChange();
 | 
|          }
 | 
| +
 | 
| +        // If we can flag the pixelref somehow whenever it was actually added to the cache,
 | 
| +        // perhaps it would be nice to only call this notifier in that case. For now we always
 | 
| +        // call it, since we don't know if it was cached or not.
 | 
| +        SkNotifyBitmapGenIDIsStale(fGenerationID);
 | 
|      }
 | 
|      // Listeners get at most one shot, so whether these triggered or not, blow them away.
 | 
|      fGenIDChangeListeners.deleteAll();
 | 
| 
 |