Renamed BAppServerLink to AppServerLink, BPortLink to PortLink, LinkMsgReader
to LinkReceiver, LinkMsgSender to LinkSender, and put everything into the BPrivate namespace. Made AppServerLink a cheap object - it will use the applications receiver/sender and not create its own buffers. Fixed broken communication stuff here and there (mostly Font.cpp). Put the newly introduced set|get_system_colors() into the BPrivate namespace - please don't introduce private functions into the public namespace!!! Also fixed their broken communication use, as Darkwyrm obviously forgot about it again: the sequence Flush(); GetNextMessage() without error checking is purely wrong and can make the app hang and/or crash! :-) Other minor cleanup. The input_server used some test mode with the haiku build target which is probably wrong. Hopefully I did not forget anything this time. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13128 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1,15 +1,16 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (c) 2001-2005, Haiku, Inc.
|
||||
//
|
||||
// Distributed under the terms of the MIT license.
|
||||
//
|
||||
// File Name: Bitmap.cpp
|
||||
// Author: Ingo Weinhold ([email protected])
|
||||
// DarkWyrm <[email protected]>
|
||||
// Stephan Aßmus <[email protected]>
|
||||
// Description: BBitmap objects represent off-screen windows that
|
||||
// contain bitmap data.
|
||||
//------------------------------------------------------------------------------
|
||||
/*
|
||||
* Copyright 2001-2005, Haiku Inc.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* Ingo Weinhold ([email protected])
|
||||
* DarkWyrm <[email protected]>
|
||||
* Stephan Aßmus <[email protected]>
|
||||
*/
|
||||
|
||||
/** BBitmap objects represent off-screen windows that
|
||||
* contain bitmap data.
|
||||
*/
|
||||
|
||||
#include <algorithm>
|
||||
#include <limits.h>
|
||||
@@ -2219,7 +2220,7 @@ BBitmap::InitObject(BRect bounds, color_space colorSpace, uint32 flags,
|
||||
error = B_NO_MEMORY;
|
||||
} else {
|
||||
// Ask the server (via our owning application) to create a bitmap.
|
||||
BPrivate::BAppServerLink link;
|
||||
BPrivate::AppServerLink link;
|
||||
|
||||
// Attach Data:
|
||||
// 1) BRect bounds
|
||||
@@ -2245,8 +2246,8 @@ BBitmap::InitObject(BRect bounds, color_space colorSpace, uint32 flags,
|
||||
// Reply Data:
|
||||
// None
|
||||
int32 code = SERVER_FALSE;
|
||||
error = link.FlushWithReply(&code);
|
||||
|
||||
error = link.FlushWithReply(code);
|
||||
|
||||
if (error >= B_OK) {
|
||||
// *communication* with server successful
|
||||
if (code == SERVER_TRUE) {
|
||||
@@ -2314,7 +2315,7 @@ BBitmap::CleanUp()
|
||||
if (fFlags & B_BITMAP_NO_SERVER_LINK) {
|
||||
free(fBasePtr);
|
||||
} else {
|
||||
BPrivate::BAppServerLink link;
|
||||
BPrivate::AppServerLink link;
|
||||
// AS_DELETE_BITMAP:
|
||||
// Attached Data:
|
||||
// 1) int32 server token
|
||||
@@ -2326,7 +2327,7 @@ BBitmap::CleanUp()
|
||||
int32 code = SERVER_FALSE;
|
||||
link.StartMessage(AS_DELETE_BITMAP);
|
||||
link.Attach<int32>(fServerToken);
|
||||
link.FlushWithReply(&code);
|
||||
link.FlushWithReply(code);
|
||||
if (code == SERVER_FALSE) {
|
||||
// TODO: Find out if "SERVER_FALSE if the buffer
|
||||
// was already deleted" is true. If not, maybe we
|
||||
|
||||
Reference in New Issue
Block a user