From 9c59f2f20706f9dd94a6a18d4f5143c8b33efca4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Tue, 29 Mar 2005 18:32:43 +0000 Subject: [PATCH] fixed app_server build, though I don't exactly know why that fixes it git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12130 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/Desktop.cpp | 4 ++-- src/servers/app/Jamfile | 8 ++++++++ src/servers/app/drawing/HWInterface.h | 2 +- src/servers/app/drawing/ViewHWInterface.cpp | 13 ++++++++++++- src/servers/app/drawing/ViewHWInterface.h | 2 ++ 5 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/servers/app/Desktop.cpp b/src/servers/app/Desktop.cpp index d4a445d115..54e54451c5 100644 --- a/src/servers/app/Desktop.cpp +++ b/src/servers/app/Desktop.cpp @@ -127,8 +127,8 @@ Desktop::AddDriver(DisplayDriver *driver) { if (driver->Initialize()) { // TODO: be careful of screen initialization - monitor may not support 640x480 -// Screen *sc = new Screen(driver, BPoint(640, 480), B_RGB32, fScreenList.CountItems()+1); - Screen *sc = new Screen(driver, BPoint(1024, 768), B_RGB32, fScreenList.CountItems()+1); + Screen *sc = new Screen(driver, BPoint(640, 480), B_RGB32, fScreenList.CountItems()+1); +// Screen *sc = new Screen(driver, BPoint(1024, 768), B_RGB32, fScreenList.CountItems()+1); // Screen *sc = new Screen(driver, BPoint(640, 480), B_CMAP8, fScreenList.CountItems()+1); // Screen *sc = new Screen(driver, BPoint(640, 480), B_GRAY8, fScreenList.CountItems()+1); // Screen *sc = new Screen(driver, BPoint(640, 480), B_RGB15, fScreenList.CountItems()+1); diff --git a/src/servers/app/Jamfile b/src/servers/app/Jamfile index 9e83170a78..1f3e8b0a07 100644 --- a/src/servers/app/Jamfile +++ b/src/servers/app/Jamfile @@ -102,15 +102,23 @@ Server app_server : # link libraries for app_server and libappserver.so if $(TARGET_PLATFORM) = haiku { + LinkSharedOSLibs libappserver.so : libroot.so libbe.so libfreetype.so ; + LinkSharedOSLibs app_server : libroot.so libtranslation.so libz.so libpng.so libbe.so libappserver.so libfreetype.so libtextencoding.so ; + } else { + + LINKFLAGS on app_server ?= $(LINKFLAGS) ; + LINKFLAGS on app_server += -lbe ; + LinkSharedOSLibs libappserver.so : root be libopenbeos.so libfreetype.so ; + LinkSharedOSLibs app_server : root be game translation libz.so libpng.so libappserver.so libpainter.a libopenbeos.so diff --git a/src/servers/app/drawing/HWInterface.h b/src/servers/app/drawing/HWInterface.h index b0168eca2c..d97397a1ff 100644 --- a/src/servers/app/drawing/HWInterface.h +++ b/src/servers/app/drawing/HWInterface.h @@ -63,7 +63,7 @@ class HWInterface : public BLocker { // Invalidate is planned to be used for scheduling an area for updating status_t Invalidate(const BRect& frame); // while as CopyBackToFront() actually performs the operation - status_t CopyBackToFront(const BRect& frame); + virtual status_t CopyBackToFront(const BRect& frame); protected: // implement this in derived classes diff --git a/src/servers/app/drawing/ViewHWInterface.cpp b/src/servers/app/drawing/ViewHWInterface.cpp index 762ed8f7ca..f04578173d 100644 --- a/src/servers/app/drawing/ViewHWInterface.cpp +++ b/src/servers/app/drawing/ViewHWInterface.cpp @@ -261,7 +261,7 @@ STRACE("CardWindow::MessageReceived()\n"); case MSG_UPDATE: STRACE("MSG_UPDATE\n"); // invalidate all areas in the view that need redrawing - if (fUpdateLock.LockWithTimeout(0LL) >= B_OK) { + if (fUpdateLock.LockWithTimeout(2000LL) >= B_OK) { /* int32 count = fUpdateRegion.CountRects(); for (int32 i = 0; i < count; i++) { fView->Invalidate(fUpdateRegion.RectAt(i)); @@ -595,6 +595,17 @@ ViewHWInterface::BackBuffer() const return fBackBuffer; } +// CopyBackToFront +status_t +ViewHWInterface::CopyBackToFront(const BRect& frame) +{ + status_t ret = HWInterface::CopyBackToFront(frame); +// TODO: investigate why this function is called before SetMode() was called! + if (fWindow) + fWindow->Invalidate(frame); + return ret; +} + // _DrawCursor void ViewHWInterface::_DrawCursor(BRect area) const diff --git a/src/servers/app/drawing/ViewHWInterface.h b/src/servers/app/drawing/ViewHWInterface.h index 4713aa8813..6905ba1d81 100644 --- a/src/servers/app/drawing/ViewHWInterface.h +++ b/src/servers/app/drawing/ViewHWInterface.h @@ -53,6 +53,8 @@ class ViewHWInterface : public HWInterface { virtual RenderingBuffer* FrontBuffer() const; virtual RenderingBuffer* BackBuffer() const; + virtual status_t CopyBackToFront(const BRect& frame); + protected: virtual void _DrawCursor(BRect area) const;