Quickdraw (com.apple.QD) is not re-entrant -- AT ALL!

By using it on any thread other than Thread 0, you are -- as you've found -- 
risking crashes, corrupt results, and pretty much everything you've described.

On Feb 28, 2013, at 2:06 AM, Marnaud <[email protected]> wrote:

> Greetings,
> 
> I'm trying to debug an issue, but it's a hard one. I draw to a picture, in a 
> loop. If I draw in “normal mode”, I randomly get some areas that aren't drawn 
> as I expect (I get areas from unrelated pictures) If I separate my “base” 
> picture from the code that draws, by adding p=p.CloneMBS, I'm getting (again 
> randomly) a crash in my QTFrameExtractor.MoveForward, found several lines 
> below. Here's the crash:
> Thread 3 Crashed:
> 0   com.apple.QD                      0x9803a7f4 SetPortRGBForeColor + 53
> 1   com.apple.QD                      0x9803c828 RGBForeColor + 49
> 2   com.apple.QuickTime               0x9221ecd6 TaskMovie_priv + 2930
> 3   com.apple.QuickTime               0x92232298 MoviesTask_priv + 261
> 4   ...uickTime Plugin.rbx_2.dylib    0x02c6f6f1 
> MoveForward(REALobjectStruct*) + 193
> 5   com.amug.MovieUtil2               0x0033442d 
> QTFrameExtractorMBS.MoveForward%b%o<QTFrameExtractorMBS> + 56
> 6   com.amug.MovieUtil2               0x0058372a 
> CMovieDesc.NextFrame%b%o<CMovieDesc> + 1043
> 7   com.amug.MovieUtil2               0x005193b6 
> WinMain.WinMain.Transform%o<Picture>%o<WinMain.WinMain>o<Picture>b + 335254
> 8   com.amug.MovieUtil2               0x004bcc0c 
> WinMain.WinMain.CollectPictures%%o<WinMain.WinMain> + 50026
> 9   com.amug.MovieUtil2               0x0044a835 
> WinMain.WinMain.TH1_Run%%o<WinMain.WinMain>o<Thread> + 12071
> 10  com.amug.MovieUtil2               0x00568db8 
> Delegate.IM_Invoke%%o<Thread> + 110
> 11  com.amug.MovieUtil2               0x00568df9 AddHandler.Stub.0%% + 51
> 12  rbframework.dylib                 0x00846288 threadRun + 606
> 13  ...ple.CoreServices.CarbonCore    0x94ca4847 CooperativeThread + 309
> 14  libSystem.B.dylib                 0x98114259 _pthread_start + 345
> 15  libSystem.B.dylib                 0x981140de thread_start + 34
> 
> This crash is the only valuable log to debug, because everything else is 
> “random” (I don't know “when” I get the crash, nor do I know why some areas 
> are drawn incorrectly if I remove “p=p.CloneMBS”). Any idea what this crash 
> log reveals?
> _______________________________________________
> Mbsplugins_monkeybreadsoftware.info mailing list
> [email protected]
> https://ml01.ispgateway.de/mailman/listinfo/mbsplugins_monkeybreadsoftware.info

-- 
Glenn L. Austin, Computer Wizard and Race Car Driver         <><
<http://www.austin-soft.com>

_______________________________________________
Mbsplugins_monkeybreadsoftware.info mailing list
[email protected]
https://ml01.ispgateway.de/mailman/listinfo/mbsplugins_monkeybreadsoftware.info

Reply via email to