<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <span style=" color:#c0c0c0;"><font color="#000000">Hi Robert,<br>
        <br>
        I think I catched another problem in version 3.4.0.<br>
        I try exporting my scene as .osgx file.<br>
        But except the xml header nothing is written.<br>
        I debuged it and found the following sequence of calls:<br>
        <br>
      </font><br>
              </span><span style=" color:#800080;">osg</span>::<span
      style=" color:#800080;">ref_ptr</span><<span style="
      color:#800080;">osgDB</span>::<span style=" color:#800080;">ReaderWriter</span>><span
      style=" color:#c0c0c0;"> </span>rw<span style=" color:#c0c0c0;">
    </span>=<span style=" color:#c0c0c0;"> </span><span style="
      color:#800080;">osgDB</span>::<span style=" color:#800080;">Registry</span>::instance()->getReaderWriterForExtension(
    <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#c0c0c0;">                                        </span><span style=" color:#800080;">osgDB</span>::getLowerCaseFileExtension(_filename.toStdString()));</pre>
    <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#808000;">    if</span><span style=" color:#c0c0c0;"> </span>(!rw.valid())</pre>
    <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#c0c0c0;">    </span><span style=" color:#808000;">    return</span><span style=" color:#c0c0c0;"> </span><span style=" color:#808000;">false</span>;</pre>
    <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#800080;">    osgDB</span>::<span style=" color:#800080;">ReaderWriter</span>::<span style=" color:#800080;">WriteResult</span><span style=" color:#c0c0c0;"> </span>result<span style=" color:#c0c0c0;"> </span>=<span style=" color:#c0c0c0;"> </span>rw-><span style=" font-style:italic; color:#000000;">writeNode</span>(_node,<span style=" color:#c0c0c0;"> </span>_filename.toStdString());</pre>
    <pre style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">
-> ReaderWriterOSG2::<span style=" font-style:italic; color:#000000;">writeNode(...)</span>
<span style=" color:#c0c0c0;">
    </span>result<span style=" color:#c0c0c0;"> </span>=<span style=" color:#c0c0c0;"> </span><span style=" font-style:italic; color:#000000;">writeNode</span>(<span style=" color:#c0c0c0;"> </span>node,<span style=" color:#c0c0c0;"> </span>fout,<span style=" color:#c0c0c0;"> </span>local_opt.get()<span style=" color:#c0c0c0;"> </span>);

-> ReaderWriterOSG2::<span style=" font-style:italic; color:#000000;">writeNode(...)

</span><span style=" color:#c0c0c0;">        </span>os.writeObject(<span style=" color:#c0c0c0;"> </span>&node<span style=" color:#c0c0c0;"> </span>);<span style=" color:#c0c0c0;"> </span><span style=" color:#000080;">CATCH_EXCEPTION</span>(os);

-> <span style=" color:#800080;">OutputStream</span>::writeObject(...)

<span style=" color:#c0c0c0;">    </span><span style=" color:#808000;">if</span><span style=" color:#c0c0c0;"> </span>(newID)
<span style=" color:#c0c0c0;">    </span>{
<span style=" color:#c0c0c0;">        </span>writeObjectFields(obj);
<span style=" color:#c0c0c0;">    </span>}

-><span style=" color:#800080;"> OutputStream</span>::writeObjectFields(...)

<span style=" color:#c0c0c0;">    </span><span style=" color:#800080;">ObjectWrapper</span>*<span style=" color:#c0c0c0;"> </span>wrapper<span style=" color:#c0c0c0;"> </span>=<span style=" color:#c0c0c0;"> </span><span style=" color:#800080;">Registry</span>::instance()->getObjectWrapperManager()->findWrapper(<span style=" color:#c0c0c0;"> </span>name<span style=" color:#c0c0c0;"> </span>);
<span style=" color:#c0c0c0;">    </span><span style=" color:#808000;">if</span><span style=" color:#c0c0c0;"> </span>(<span style=" color:#c0c0c0;"> </span>!wrapper<span style=" color:#c0c0c0;"> </span>)
<span style=" color:#c0c0c0;">    </span>{
<span style=" color:#c0c0c0;">        </span><span style=" color:#000080;">OSG_WARN</span><span style=" color:#c0c0c0;"> </span><<<span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">"OutputStream::writeObject():</span><span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">Unsupported</span><span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">wrapper</span><span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">class</span><span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">"</span>
<span style=" color:#c0c0c0;">                                </span><<<span style=" color:#c0c0c0;"> </span>name<span style=" color:#c0c0c0;"> </span><<<span style=" color:#c0c0c0;"> </span><span style=" color:#800080;">std</span>::endl;
<span style=" color:#c0c0c0;">        </span><span style=" color:#808000;">return</span>;
<span style=" color:#c0c0c0;">    </span>}

-> <span style=" color:#800080;">OutputStream</span>::writeObjectFields(...)

<span style=" color:#c0c0c0;">    </span><span style=" color:#800080;">ObjectWrapper</span>*<span style=" color:#c0c0c0;"> </span>wrapper<span style=" color:#c0c0c0;"> </span>=<span style=" color:#c0c0c0;"> </span><span style=" color:#800080;">Registry</span>::instance()->getObjectWrapperManager()->findWrapper(<span style=" color:#c0c0c0;"> </span>name<span style=" color:#c0c0c0;"> </span>);
<span style=" color:#c0c0c0;">    </span><span style=" color:#808000;">if</span><span style=" color:#c0c0c0;"> </span>(<span style=" color:#c0c0c0;"> </span>!wrapper<span style=" color:#c0c0c0;"> </span>)
<span style=" color:#c0c0c0;">    </span>{
<span style=" color:#c0c0c0;">        </span><span style=" color:#000080;">OSG_WARN</span><span style=" color:#c0c0c0;"> </span><<<span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">"OutputStream::writeObject():</span><span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">Unsupported</span><span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">wrapper</span><span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">class</span><span style=" color:#c0c0c0;"> </span><span style=" color:#008000;">"</span>
<span style=" color:#c0c0c0;">                                </span><<<span style=" color:#c0c0c0;"> </span>name<span style=" color:#c0c0c0;"> </span><<<span style=" color:#c0c0c0;"> </span><span style=" color:#800080;">std</span>::endl;
<span style=" color:#c0c0c0;">        </span><span style=" color:#808000;">return</span>;
<span style=" color:#c0c0c0;">    </span>}
-> <span style=" color:#800080;">ObjectWrapperManager</span>::findWrapper(...)

<span style=" color:#c0c0c0;">        </span>pluginLib<span style=" color:#c0c0c0;"> </span>=<span style=" color:#c0c0c0;"> </span><span style=" color:#800080;">osgDB</span>::<span style=" color:#800080;">Registry</span>::instance()->createLibraryNameForExtension(libName);
<span style=" color:#c0c0c0;">        </span><span style=" color:#808000;">if</span><span style=" color:#c0c0c0;"> </span>(<span style=" color:#c0c0c0;"> </span><span style=" color:#800080;">osgDB</span>::<span style=" color:#800080;">Registry</span>::instance()->loadLibrary(pluginLib)==<span style=" color:#800080;">osgDB</span>::<span style=" color:#800080;">Registry</span>::<span style=" color:#800080;">LOADED</span><span style=" color:#c0c0c0;"> </span>)
<span style=" color:#c0c0c0;">            </span><span style=" color:#808000;">return</span><span style=" color:#c0c0c0;"> </span>findWrapper(name);
<span style=" color:#c0c0c0;">    </span>}
<span style=" color:#c0c0c0;">    </span><span style=" color:#808000;">return</span><span style=" color:#c0c0c0;"> </span><span style=" color:#000080;">NULL</span>;

The loadLibrary(...) method returns "<span style=" color:#800080;">PREVIOUSLY_LOADED</span>" and so NULL is returned and nothing gets written.

I think that should be different. Am I right?

- Werner -</pre>
    <br>
  </body>
</html>