Index: trunk/phase3/includes/LocalisationCache.php |
— | — | @@ -304,7 +304,11 @@ |
305 | 305 | return true; |
306 | 306 | } |
307 | 307 | foreach ( $deps as $dep ) { |
308 | | - if ( $dep->isExpired() ) { |
| 308 | + // Because we're unserializing stuff from cache, we |
| 309 | + // could receive objects of classes that don't exist |
| 310 | + // anymore (e.g. uninstalled extensions) |
| 311 | + // When this happens, always expire the cache |
| 312 | + if ( !$dep instanceof CacheDependency || $dep->isExpired() ) { |
309 | 313 | wfDebug( __METHOD__."($code): cache for $code expired due to " . |
310 | 314 | get_class( $dep ) . "\n" ); |
311 | 315 | return true; |