... and it's a pain in the bum!
On Thu, Jun 27, 2013 at 4:20 PM, Luc-Eric Rousseau <luceri...@gmail.com>wrote: > stuff like this usually happen because the message box pump messages, and > therefore lets notifications through and xsi refreshes/updates some things > it would not have otherwise. it probably lets timer events through too. > On 2013-06-27 7:10 AM, "Oscar Juarez" <tridi.animei...@gmail.com> wrote: > >> Hello list, >> >> This is a weird problem and the title doesn't fully describe what is >> happening since there is quite a lot of things involved in what I'm doing >> and I decided to post here since it's not really an Arnold thing but more >> of Softimage, it's just that if you have Arnold installed it is very easy >> to replicate. You just have to paste this, you must have Arnold and set it >> up as default on Softimage preferences. Change the path to a file you >> actually have. >> >> Application.NewScene("", "") >> Application.OpenScene("C:\\Program Files\\Autodesk\\Softimage 2013 >> SP1\\Data\\XSI_SAMPLES\\Scenes\\OLD\\club_bot.scn", 0, "") >> >> I replicated on 2012 SP1, 2013 SP1 and in other computer with 2013 SP1 >> too. >> >> So a little bit of background. >> >> Arnold has an onEndNewScene event which basically checks if you have >> arnold as a default renderer and sets the scene to be ready to render with >> arnold, changes a shader on the default light, creates the framebuffers, >> etc. One of these things that changes is setting the render regions options >> for every view to use the pass rendering options. This is from a factory >> installation of Arnold. >> >> So for the actual problem, Tank has some routines for opening files that >> basically first reset the state of softimage with a NewScene, and after >> that opens the required scene turning off the confirmation dialog for >> saving the previous scene if Softimage detected it was dirty. Since the >> Arnold event is changing shaders and what not, a new scene will always be >> dirty so avoids asking the user. >> >> If I change to ask for confirmation, it doesn't crash anymore, if I skip >> the NewScene routine in tank, it doesn't crash, if I comment the block of >> code in Arnold event that sets the region options for all the views to use >> pass options it doesn't crash, that block of code is this one: >> >> SetValue( >> >> >> "Views.ViewA.RenderRegion.UsePassOptions,Views.ViewB.RenderRegion.UsePassOptions,"+ >> >> >> "Views.ViewC.RenderRegion.UsePassOptions,Views.ViewD.RenderRegion.UsePassOptions", >> Array(true, true, true, true), null >> ); >> >> I'm only assuming that it has to do to setting up values on parameters of >> viewports that are not loaded yet, since while every of this is happening >> the viewports are not really there. >> >> For now I can live with turning on confirmation on the tank routine but >> it's a weird bug because apparently the scene is opened but the crash comes >> from code that comes from an onEndNewScene Event. >> >> Does anybody had this before? >> Thanks in advance. >> >> Oscar >> >> >> >> -- --------------------------------------- Vladimir Jankijevic Technical Direction Elefant Studios AG Lessingstrasse 15 CH-8002 Zürich +41 44 500 48 20 www.elefantstudios.ch ---------------------------------------