@@ -4264,22 +4264,26 @@ function Activity() {
42644264 console . log ( 'overwriting session data' ) ;
42654265 var data = prepareExport ( ) ;
42664266 var svgData = doSVG ( canvas , logo , turtles , 320 , 240 , 320 / canvas . width ) ;
4267- if ( svgData === null || svgData === '' ) {
4268- this . planet . ProjectStorage . saveLocally ( data , null ) ;
4269- } else {
4270- var img = new Image ( ) ;
4271- var t = this ;
4272- img . onload = function ( ) {
4273- var bitmap = new createjs . Bitmap ( img ) ;
4274- var bounds = bitmap . getBounds ( ) ;
4275- bitmap . cache ( bounds . x , bounds . y , bounds . width , bounds . height ) ;
4276- try {
4277- t . planet . ProjectStorage . saveLocally ( data , bitmap . bitmapCache . getCacheDataURL ( ) ) ;
4278- } catch ( e ) {
4279- console . log ( e ) ;
4280- }
4281- } ;
4282- img . src = 'data:image/svg+xml;base64,' + window . btoa ( unescape ( encodeURIComponent ( svgData ) ) ) ;
4267+ try {
4268+
4269+ if ( svgData === null || svgData === '' ) {
4270+ this . planet . ProjectStorage . saveLocally ( data , null ) ;
4271+ } else {
4272+ var img = new Image ( ) ;
4273+ var t = this ;
4274+ img . onload = function ( ) {
4275+ var bitmap = new createjs . Bitmap ( img ) ;
4276+ var bounds = bitmap . getBounds ( ) ;
4277+ bitmap . cache ( bounds . x , bounds . y , bounds . width , bounds . height ) ;
4278+ t . planet . ProjectStorage . saveLocally ( data , bitmap . bitmapCache . getCacheDataURL ( ) ) ;
4279+ } ;
4280+ img . src = 'data:image/svg+xml;base64,' + window . btoa ( unescape ( encodeURIComponent ( svgData ) ) ) ;
4281+ }
4282+ } catch ( e ) {
4283+ console . log ( e ) ;
4284+ if ( e . code === DOMException . QUOTA_EXCEEDED_ERR || e . message === "Not enough space to save locally" )
4285+ textMsg ( _ ( "Error: Unable to save because you ran out of local storage. Try deleting some saved projects." ) ) ;
4286+ else throw e ;
42834287 }
42844288 //if (sugarizerCompatibility.isInsideSugarizer()) {
42854289 // sugarizerCompatibility.saveLocally();
0 commit comments