Removed the locking from RootLayer::Buttons -- caused a hang in the one place it is called. (doh!)
Implemented ServerApp handler for BFont::CountTuned and added a standby handler for BFont::Direction Tweaked the ServerWindow debug output git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11457 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
135c6d41e1
commit
348f28e773
@ -881,11 +881,7 @@ void RootLayer::SetBGColor(const RGBColor &col)
|
|||||||
|
|
||||||
int32 RootLayer::Buttons(void)
|
int32 RootLayer::Buttons(void)
|
||||||
{
|
{
|
||||||
Lock();
|
return fButtons;
|
||||||
int32 value=fButtons;
|
|
||||||
Unlock();
|
|
||||||
|
|
||||||
return value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RGBColor RootLayer::BGColor(void) const
|
RGBColor RootLayer::BGColor(void) const
|
||||||
|
@ -1169,7 +1169,12 @@ void ServerApp::DispatchMessage(int32 code, LinkMsgReader &msg)
|
|||||||
|
|
||||||
// Returns:
|
// Returns:
|
||||||
// 1) font_direction direction of font
|
// 1) font_direction direction of font
|
||||||
/* int32 famid, styid;
|
|
||||||
|
// NOTE: While this may be unimplemented, we can safely return
|
||||||
|
// SERVER_FALSE. This will force the BFont code to default to
|
||||||
|
// B_LEFT_TO_RIGHT, which is what the vast majority of fonts will be.
|
||||||
|
// This will be fixed later.
|
||||||
|
int32 famid, styid;
|
||||||
port_id replyport;
|
port_id replyport;
|
||||||
|
|
||||||
msg.Read<int32>(&famid);
|
msg.Read<int32>(&famid);
|
||||||
@ -1178,7 +1183,7 @@ void ServerApp::DispatchMessage(int32 code, LinkMsgReader &msg)
|
|||||||
|
|
||||||
replylink.SetSendPort(replyport);
|
replylink.SetSendPort(replyport);
|
||||||
|
|
||||||
fontserver->Lock();
|
/* fontserver->Lock();
|
||||||
FontStyle *fstyle=fontserver->GetStyle(famid,styid);
|
FontStyle *fstyle=fontserver->GetStyle(famid,styid);
|
||||||
if(fstyle)
|
if(fstyle)
|
||||||
{
|
{
|
||||||
@ -1190,12 +1195,11 @@ void ServerApp::DispatchMessage(int32 code, LinkMsgReader &msg)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
replylink.StartMessage(SERVER_FALSE);
|
*/ replylink.StartMessage(SERVER_FALSE);
|
||||||
replylink.Flush();
|
replylink.Flush();
|
||||||
}
|
// }
|
||||||
|
|
||||||
fontserver->Unlock();
|
// fontserver->Unlock();
|
||||||
*/
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case AS_GET_STRING_WIDTH:
|
case AS_GET_STRING_WIDTH:
|
||||||
@ -1267,7 +1271,7 @@ void ServerApp::DispatchMessage(int32 code, LinkMsgReader &msg)
|
|||||||
}
|
}
|
||||||
case AS_GET_TUNED_COUNT:
|
case AS_GET_TUNED_COUNT:
|
||||||
{
|
{
|
||||||
FTRACE(("ServerApp %s: AS_GET_TUNED_COUNT unimplmemented\n",fSignature.String()));
|
FTRACE(("ServerApp %s: AS_GET_TUNED_COUNT\n",fSignature.String()));
|
||||||
// Attached Data:
|
// Attached Data:
|
||||||
// 1) uint16 - family ID
|
// 1) uint16 - family ID
|
||||||
// 2) uint16 - style ID
|
// 2) uint16 - style ID
|
||||||
@ -1275,6 +1279,30 @@ void ServerApp::DispatchMessage(int32 code, LinkMsgReader &msg)
|
|||||||
|
|
||||||
// Returns:
|
// Returns:
|
||||||
// 1) int32 - number of font strikes available
|
// 1) int32 - number of font strikes available
|
||||||
|
int32 famid, styid;
|
||||||
|
port_id replyport;
|
||||||
|
|
||||||
|
msg.Read<int32>(&famid);
|
||||||
|
msg.Read<int32>(&styid);
|
||||||
|
msg.Read<port_id>(&replyport);
|
||||||
|
|
||||||
|
replylink.SetSendPort(replyport);
|
||||||
|
|
||||||
|
fontserver->Lock();
|
||||||
|
FontStyle *fstyle=fontserver->GetStyle(famid,styid);
|
||||||
|
if(fstyle)
|
||||||
|
{
|
||||||
|
replylink.StartMessage(SERVER_TRUE);
|
||||||
|
replylink.Attach<int32>(fstyle->TunedCount());
|
||||||
|
replylink.Flush();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
replylink.StartMessage(SERVER_FALSE);
|
||||||
|
replylink.Flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
fontserver->Unlock();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case AS_GET_TUNED_INFO:
|
case AS_GET_TUNED_INFO:
|
||||||
@ -1300,6 +1328,30 @@ void ServerApp::DispatchMessage(int32 code, LinkMsgReader &msg)
|
|||||||
|
|
||||||
// Returns:
|
// Returns:
|
||||||
// 1) bool - font is/is not fixed
|
// 1) bool - font is/is not fixed
|
||||||
|
int32 famid, styid;
|
||||||
|
port_id replyport;
|
||||||
|
|
||||||
|
msg.Read<int32>(&famid);
|
||||||
|
msg.Read<int32>(&styid);
|
||||||
|
msg.Read<port_id>(&replyport);
|
||||||
|
|
||||||
|
replylink.SetSendPort(replyport);
|
||||||
|
|
||||||
|
fontserver->Lock();
|
||||||
|
FontStyle *fstyle=fontserver->GetStyle(famid,styid);
|
||||||
|
if(fstyle)
|
||||||
|
{
|
||||||
|
replylink.StartMessage(SERVER_TRUE);
|
||||||
|
replylink.Attach<bool>(fstyle->IsFixedWidth());
|
||||||
|
replylink.Flush();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
replylink.StartMessage(SERVER_FALSE);
|
||||||
|
replylink.Flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
fontserver->Unlock();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case AS_SET_FAMILY_NAME:
|
case AS_SET_FAMILY_NAME:
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
#include "Workspace.h"
|
#include "Workspace.h"
|
||||||
#include "MessagePrivate.h"
|
#include "MessagePrivate.h"
|
||||||
|
|
||||||
//#define DEBUG_SERVERWINDOW
|
#define DEBUG_SERVERWINDOW
|
||||||
//#define DEBUG_SERVERWINDOW_MOUSE
|
//#define DEBUG_SERVERWINDOW_MOUSE
|
||||||
//#define DEBUG_SERVERWINDOW_KEYBOARD
|
//#define DEBUG_SERVERWINDOW_KEYBOARD
|
||||||
#define DEBUG_SERVERWINDOW_GRAPHICS
|
#define DEBUG_SERVERWINDOW_GRAPHICS
|
||||||
@ -396,7 +396,7 @@ void ServerWindow::ScreenModeChanged(const BRect frame, const color_space cspace
|
|||||||
*/
|
*/
|
||||||
status_t ServerWindow::Lock(void)
|
status_t ServerWindow::Lock(void)
|
||||||
{
|
{
|
||||||
STRACE(("ServerWindow %s: Lock\n",fTitle.String()));
|
STRACE(("\nServerWindow %s: Lock\n",fTitle.String()));
|
||||||
|
|
||||||
return (fLocker.Lock())?B_OK:B_ERROR;
|
return (fLocker.Lock())?B_OK:B_ERROR;
|
||||||
}
|
}
|
||||||
@ -404,7 +404,7 @@ status_t ServerWindow::Lock(void)
|
|||||||
//! Unlocks the window
|
//! Unlocks the window
|
||||||
void ServerWindow::Unlock(void)
|
void ServerWindow::Unlock(void)
|
||||||
{
|
{
|
||||||
STRACE(("ServerWindow %s: Unlock\n",fTitle.String()));
|
STRACE(("ServerWindow %s: Unlock\n\n",fTitle.String()));
|
||||||
|
|
||||||
fLocker.Unlock();
|
fLocker.Unlock();
|
||||||
}
|
}
|
||||||
@ -424,6 +424,8 @@ bool ServerWindow::IsLocked(void) const
|
|||||||
*/
|
*/
|
||||||
void ServerWindow::SetLayerFontState(Layer *layer, LinkMsgReader &link)
|
void ServerWindow::SetLayerFontState(Layer *layer, LinkMsgReader &link)
|
||||||
{
|
{
|
||||||
|
STRACE(("ServerWindow %s: SetLayerFontStateMessage for layer %s\n",
|
||||||
|
fTitle.String(), layer->fName->String()));
|
||||||
// NOTE: no need to check for a lock. This is a private method.
|
// NOTE: no need to check for a lock. This is a private method.
|
||||||
uint16 mask;
|
uint16 mask;
|
||||||
|
|
||||||
@ -484,12 +486,12 @@ void ServerWindow::SetLayerFontState(Layer *layer, LinkMsgReader &link)
|
|||||||
link.Read<uint32>(&flags);
|
link.Read<uint32>(&flags);
|
||||||
layer->fLayerData->font.SetFlags(flags);
|
layer->fLayerData->font.SetFlags(flags);
|
||||||
}
|
}
|
||||||
STRACE(("DONE: ServerWindow %s: Message AS_LAYER_SET_FONT_STATE: Layer: %s\n",
|
|
||||||
fTitle.String(), layer->fName->String()));
|
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
void ServerWindow::SetLayerState(Layer *layer, LinkMsgReader &link)
|
void ServerWindow::SetLayerState(Layer *layer, LinkMsgReader &link)
|
||||||
{
|
{
|
||||||
|
STRACE(("ServerWindow %s: SetLayerState for layer %s\n",fTitle.String(),
|
||||||
|
layer->fName->String()));
|
||||||
// NOTE: no need to check for a lock. This is a private method.
|
// NOTE: no need to check for a lock. This is a private method.
|
||||||
rgb_color highColor, lowColor, viewColor;
|
rgb_color highColor, lowColor, viewColor;
|
||||||
pattern patt;
|
pattern patt;
|
||||||
@ -540,14 +542,11 @@ void ServerWindow::SetLayerState(Layer *layer, LinkMsgReader &link)
|
|||||||
layer->fLayerData->clipReg = NULL;
|
layer->fLayerData->clipReg = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
STRACE(("DONE: ServerWindow %s: Message AS_LAYER_SET_STATE: Layer: %s\n",fTitle.String(),
|
|
||||||
layer->fName->String()));
|
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
Layer * ServerWindow::CreateLayerTree(Layer *localRoot, LinkMsgReader &link)
|
Layer * ServerWindow::CreateLayerTree(Layer *localRoot, LinkMsgReader &link)
|
||||||
{
|
{
|
||||||
// NOTE: no need to check for a lock. This is a private method.
|
// NOTE: no need to check for a lock. This is a private method.
|
||||||
STRACE(("ServerWindow(%s)::CreateLayerTree()\n", fTitle.String()));
|
|
||||||
|
|
||||||
int32 token;
|
int32 token;
|
||||||
BRect frame;
|
BRect frame;
|
||||||
@ -565,6 +564,8 @@ Layer * ServerWindow::CreateLayerTree(Layer *localRoot, LinkMsgReader &link)
|
|||||||
link.Read<bool>(&hidden);
|
link.Read<bool>(&hidden);
|
||||||
link.Read<int32>(&childCount);
|
link.Read<int32>(&childCount);
|
||||||
|
|
||||||
|
STRACE(("ServerWindow(%s)::CreateLayerTree()-> layer %s, token %ld\n", fTitle.String(),name,token));
|
||||||
|
|
||||||
Layer *newLayer;
|
Layer *newLayer;
|
||||||
newLayer = new Layer(frame, name, token, resizeMask,
|
newLayer = new Layer(frame, name, token, resizeMask,
|
||||||
flags, desktop->GetDisplayDriver());
|
flags, desktop->GetDisplayDriver());
|
||||||
@ -578,9 +579,6 @@ Layer * ServerWindow::CreateLayerTree(Layer *localRoot, LinkMsgReader &link)
|
|||||||
if(localRoot)
|
if(localRoot)
|
||||||
localRoot->AddChild(newLayer, NULL);
|
localRoot->AddChild(newLayer, NULL);
|
||||||
|
|
||||||
STRACE(("DONE: ServerWindow %s: Message AS_LAYER_CREATE: Parent: %s, Child: %s\n", fTitle.String(),
|
|
||||||
localRoot? localRoot->fName->String(): "NULL", newLayer->fName->String()));
|
|
||||||
|
|
||||||
return newLayer;
|
return newLayer;
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
@ -702,6 +700,14 @@ void ServerWindow::DispatchMessage(int32 code, LinkMsgReader &link)
|
|||||||
link.Read<int32>(&token);
|
link.Read<int32>(&token);
|
||||||
|
|
||||||
Layer *current = FindLayer(fWinBorder->fTopLayer, token);
|
Layer *current = FindLayer(fWinBorder->fTopLayer, token);
|
||||||
|
if(current)
|
||||||
|
{
|
||||||
|
DTRACE(("ServerWindow %s: Message AS_SET_CURRENT_LAYER: %s, token %ld\n", fTitle.String(), current->fName->String(), token));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DTRACE(("ServerWindow %s: Message AS_SET_CURRENT_LAYER: layer not found, token %ld\n", fTitle.String(), token));
|
||||||
|
}
|
||||||
|
|
||||||
if (current)
|
if (current)
|
||||||
cl=current;
|
cl=current;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user