Hi Guys,

I am having a problem using SharedObjects on Gentoo - kernel 2.6.29 that does not seem to appear in 2.6.30, but I want to make sure it is not because of some setting on my machine.

We run FlashPlayer from the command line, but still seem to be governed by the FlashPlayer settings, which have been "applied" using the browser and the "Settings Panel SWF".

Problem is the following code in testPersistence() seems to kill the FlashPlayer with a segfault in one of the libc libraries on my machine. Because we are using cloned disks, I am a bit wary that the settings for FP may be screwed, or a permissions error may be occurring.

I just wanted to know if anyone else has seen this at all - I have googled and jira'd but no luck at the moment.

   Cheers

   Glen
public class Persistence {
       protected static var _instance:Persistence;
public function Persistence() {
           if (null != _instance) {
throw Error("Cannot have more than one instance of Persistence");
           }
           _instance = this;
       }
public static function getInstance():Persistence {
           if (null == _instance) {
               _instance = new Persistence( );
           }
           return _instance;
       }
       public static function saveValue(name:String, value:*):Boolean {
           var so:SharedObject = SharedObject.getLocal("interface_app");
if (null == so) {
               return false;
           }
           try {
               so.data[name] = value;
           }catch (e:Error) {
               trace("Persistence::saveValue exception " + e);
           }
           var res:String = so.flush();
           if (SharedObjectFlushStatus.FLUSHED == res) {
               return true;
           } else {
               return false;
           }
       }
public static function loadValue(name:String):* {
           var so:SharedObject = SharedObject.getLocal("interface_app");
           if (null == so) {
               return null;
           }
           var value:*;
           try {
               value =  so.data[name];
           } catch (e:Error) {
               trace("Persistence::loadValue exception " + e);
           }
           if (undefined == value) {
               value = null;
           }
           return value;
       }
   }
}

function testPersistence():void {
   try {
               trace(this, "loading persisted value");
               var testing:Object = Persistence.loadValue("testing");
               trace(this, "loaded value is " + testing);
               trace(this, "saving value 123");
               //The following line triggers a SEGFAULT
var result:Boolean = Persistence.saveValue("testing", "123");
               trace("result " + result);
           } catch (e:Error) {
               trace("there was an error " + e);
           }
}
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to