diff --git a/src/servers/app/ServerPicture.cpp b/src/servers/app/ServerPicture.cpp index 347df1b6dd..8c699bf7f9 100644 --- a/src/servers/app/ServerPicture.cpp +++ b/src/servers/app/ServerPicture.cpp @@ -4,7 +4,7 @@ * * Authors: * Marc Flerackers (mflerackers@androme.be) - * Stefano Ceccherini (burton666@libero.it) + * Stefano Ceccherini (stefano.ceccherini@gmail.com) * Marcus Overhagen */ @@ -515,11 +515,13 @@ draw_picture(View* view, BPoint where, int32 token) ServerPicture* picture = view->Window()->ServerWindow()->App()->GetPicture(token); if (picture != NULL) { + BPoint origin = view->DrawingOrigin(); + view->ConvertToScreenForDrawing(&where); view->SetDrawingOrigin(where); view->PushState(); picture->Play(view); view->PopState(); - + view->SetDrawingOrigin(origin); picture->ReleaseReference(); } } diff --git a/src/servers/app/ServerWindow.cpp b/src/servers/app/ServerWindow.cpp index cb1f0a8e00..3ab7be0158 100644 --- a/src/servers/app/ServerWindow.cpp +++ b/src/servers/app/ServerWindow.cpp @@ -2786,6 +2786,7 @@ ServerWindow::_DispatchViewDrawingMessage(int32 code, // state makes sure that everything the picture // does is relative to the global picture offset. BPoint origin = fCurrentView->DrawingOrigin(); + fCurrentView->ConvertToScreenForDrawing(&where); fCurrentView->SetDrawingOrigin(where); fCurrentView->PushState();