diff --git a/src/kits/interface/PicturePlayer.cpp b/src/kits/interface/PicturePlayer.cpp index 7d85d521ec..2f9543bbaf 100644 --- a/src/kits/interface/PicturePlayer.cpp +++ b/src/kits/interface/PicturePlayer.cpp @@ -512,6 +512,12 @@ PicturePlayer::Play(void **callBackTable, int32 tableEntries, void *userData) break; } + // TODO: This is not correct. B_PIC_ENTER_STATE_CHANGE and + // B_PIC_ENTER_FONT_STATE ops include other ops. We should just advance + // the buffer by the size of these ops, not the size of the whole block, + // otherwise the nested ops won't be executed. I disabled them in + // ServerPicture::SyncState() and ServerPicture::SetFontFromLink() + // until we handle them correctly here. pos += size; data += size; diff --git a/src/servers/app/ServerPicture.cpp b/src/servers/app/ServerPicture.cpp index ec8da21d69..8424a83d23 100644 --- a/src/servers/app/ServerPicture.cpp +++ b/src/servers/app/ServerPicture.cpp @@ -802,7 +802,7 @@ void ServerPicture::SyncState(ViewLayer *view) { // TODO: Finish this - BeginOp(B_PIC_ENTER_STATE_CHANGE); + //BeginOp(B_PIC_ENTER_STATE_CHANGE); WriteSetOrigin(view->CurrentState()->Origin()); WriteSetPenLocation(view->CurrentState()->PenLocation()); @@ -816,14 +816,14 @@ ServerPicture::SyncState(ViewLayer *view) WriteSetHighColor(view->CurrentState()->HighColor().GetColor32()); WriteSetLowColor(view->CurrentState()->LowColor().GetColor32()); - EndOp(); + //EndOp(); } void ServerPicture::SetFontFromLink(BPrivate::LinkReceiver& link) { - BeginOp(B_PIC_ENTER_STATE_CHANGE); + //BeginOp(B_PIC_ENTER_STATE_CHANGE); uint16 mask; link.Read(&mask); @@ -887,7 +887,7 @@ ServerPicture::SetFontFromLink(BPrivate::LinkReceiver& link) WriteSetFontFlags(flags); } - EndOp(); + //EndOp(); }