From: Joshua J. <jj...@gm...> - 2009-10-19 05:18:16
|
On Oct 18, 2009, at 8:58 AM, Alexei Svitkine wrote: > Interesting. The other issue I was seeing (which is partly > addressed in my last commit) is the fact that SheepShaver would > clear the (system) clipboard on every call to PutScrap - which > didn't work if the App did something like ZeroScrap(); PutScrap > (...); ...; PutScrap(...); to include multiple data types on the > clipboard. > > The logical solution is to patch the ZeroScrap() trap in the ROM in > the same way that both GetScrap() and PutScrap() get patched and > only clear the system clipboard when the app calls ZeroScrap(). I > tried to do this, but it does not seem to be working (ZeroScrap() > isn't being called). I'm wondering if that trap is bypassed by > applications that use newer Mac APIs. This might be a Carbon issue. ZeroScrap() doesn't exist in the Carbon API, and its Carbon counterpart ClearCurrentScrap() probably doesn't call it. You might try the ROM patch in Basilisk II (where Carbon doesn't apply) or just verify that the app you're testing is not Carbon-based. > On the subject of your change, if it indeed fixes some apps, would > there be a way to add your code to SheepShaver itself? That's certainly possible, though aside from integrating the code into SheepShaver's build process and removing the dependency on CodeWarrior, I don't see the benefit. Personally I think the time would be better spent on issues that don't already have solutions. Josh |