diff --git a/src/servers/app/server/RootLayer.cpp b/src/servers/app/server/RootLayer.cpp index 3f674a526d..8442be3208 100644 --- a/src/servers/app/server/RootLayer.cpp +++ b/src/servers/app/server/RootLayer.cpp @@ -881,11 +881,7 @@ void RootLayer::SetBGColor(const RGBColor &col) int32 RootLayer::Buttons(void) { - Lock(); - int32 value=fButtons; - Unlock(); - - return value; + return fButtons; } RGBColor RootLayer::BGColor(void) const diff --git a/src/servers/app/server/ServerApp.cpp b/src/servers/app/server/ServerApp.cpp index 0862cbfae7..ae5f55190d 100644 --- a/src/servers/app/server/ServerApp.cpp +++ b/src/servers/app/server/ServerApp.cpp @@ -1169,7 +1169,12 @@ void ServerApp::DispatchMessage(int32 code, LinkMsgReader &msg) // Returns: // 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; msg.Read(&famid); @@ -1178,7 +1183,7 @@ void ServerApp::DispatchMessage(int32 code, LinkMsgReader &msg) replylink.SetSendPort(replyport); - fontserver->Lock(); +/* fontserver->Lock(); FontStyle *fstyle=fontserver->GetStyle(famid,styid); if(fstyle) { @@ -1190,12 +1195,11 @@ void ServerApp::DispatchMessage(int32 code, LinkMsgReader &msg) } else { - replylink.StartMessage(SERVER_FALSE); +*/ replylink.StartMessage(SERVER_FALSE); replylink.Flush(); - } +// } - fontserver->Unlock(); -*/ +// fontserver->Unlock(); break; } case AS_GET_STRING_WIDTH: @@ -1267,7 +1271,7 @@ void ServerApp::DispatchMessage(int32 code, LinkMsgReader &msg) } 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: // 1) uint16 - family ID // 2) uint16 - style ID @@ -1275,6 +1279,30 @@ void ServerApp::DispatchMessage(int32 code, LinkMsgReader &msg) // Returns: // 1) int32 - number of font strikes available + int32 famid, styid; + port_id replyport; + + msg.Read(&famid); + msg.Read(&styid); + msg.Read(&replyport); + + replylink.SetSendPort(replyport); + + fontserver->Lock(); + FontStyle *fstyle=fontserver->GetStyle(famid,styid); + if(fstyle) + { + replylink.StartMessage(SERVER_TRUE); + replylink.Attach(fstyle->TunedCount()); + replylink.Flush(); + } + else + { + replylink.StartMessage(SERVER_FALSE); + replylink.Flush(); + } + + fontserver->Unlock(); break; } case AS_GET_TUNED_INFO: @@ -1300,6 +1328,30 @@ void ServerApp::DispatchMessage(int32 code, LinkMsgReader &msg) // Returns: // 1) bool - font is/is not fixed + int32 famid, styid; + port_id replyport; + + msg.Read(&famid); + msg.Read(&styid); + msg.Read(&replyport); + + replylink.SetSendPort(replyport); + + fontserver->Lock(); + FontStyle *fstyle=fontserver->GetStyle(famid,styid); + if(fstyle) + { + replylink.StartMessage(SERVER_TRUE); + replylink.Attach(fstyle->IsFixedWidth()); + replylink.Flush(); + } + else + { + replylink.StartMessage(SERVER_FALSE); + replylink.Flush(); + } + + fontserver->Unlock(); break; } case AS_SET_FAMILY_NAME: diff --git a/src/servers/app/server/ServerWindow.cpp b/src/servers/app/server/ServerWindow.cpp index 43e58793d2..fc05aa3d32 100644 --- a/src/servers/app/server/ServerWindow.cpp +++ b/src/servers/app/server/ServerWindow.cpp @@ -53,7 +53,7 @@ #include "Workspace.h" #include "MessagePrivate.h" -//#define DEBUG_SERVERWINDOW +#define DEBUG_SERVERWINDOW //#define DEBUG_SERVERWINDOW_MOUSE //#define DEBUG_SERVERWINDOW_KEYBOARD #define DEBUG_SERVERWINDOW_GRAPHICS @@ -396,7 +396,7 @@ void ServerWindow::ScreenModeChanged(const BRect frame, const color_space cspace */ 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; } @@ -404,7 +404,7 @@ status_t ServerWindow::Lock(void) //! Unlocks the window void ServerWindow::Unlock(void) { - STRACE(("ServerWindow %s: Unlock\n",fTitle.String())); + STRACE(("ServerWindow %s: Unlock\n\n",fTitle.String())); fLocker.Unlock(); } @@ -424,6 +424,8 @@ bool ServerWindow::IsLocked(void) const */ 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. uint16 mask; @@ -484,12 +486,12 @@ void ServerWindow::SetLayerFontState(Layer *layer, LinkMsgReader &link) link.Read(&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) { + 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. rgb_color highColor, lowColor, viewColor; pattern patt; @@ -540,14 +542,11 @@ void ServerWindow::SetLayerState(Layer *layer, LinkMsgReader &link) 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) { // NOTE: no need to check for a lock. This is a private method. - STRACE(("ServerWindow(%s)::CreateLayerTree()\n", fTitle.String())); int32 token; BRect frame; @@ -565,6 +564,8 @@ Layer * ServerWindow::CreateLayerTree(Layer *localRoot, LinkMsgReader &link) link.Read(&hidden); link.Read(&childCount); + STRACE(("ServerWindow(%s)::CreateLayerTree()-> layer %s, token %ld\n", fTitle.String(),name,token)); + Layer *newLayer; newLayer = new Layer(frame, name, token, resizeMask, flags, desktop->GetDisplayDriver()); @@ -578,9 +579,6 @@ Layer * ServerWindow::CreateLayerTree(Layer *localRoot, LinkMsgReader &link) if(localRoot) 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; } //------------------------------------------------------------------------------ @@ -702,6 +700,14 @@ void ServerWindow::DispatchMessage(int32 code, LinkMsgReader &link) link.Read(&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) cl=current;