BPortLink::AttachString() now accepts a length argument, and will no longer
send a terminating null byte; LinkMsgReader::ReadString(), however, will
make sure the string read is null terminated.
Changed client communication code to use FlushWithReply() instead of Flush()
and GetNextReply() - there were many bugs and shortcomings in the code, I
hope I've fixed them all.
Converted ClientFontList.cpp to our coding style (but not completely, the
class members are missing).
Some more cleanup - I hope Adi will adopt our coding style one day!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12998 a95241bf-73f2-0310-859d-f6bbb57e9c96
it should be renamed to do_owner_and_lock_check().
Removed looper locking again, since it's not needed, then. Thanks to
Adi for the hint.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12743 a95241bf-73f2-0310-859d-f6bbb57e9c96
communication, the port's reply port is no longer sent to the app_server (as it
knows where to reply to, anyway).
Also made sure the view's looper is locked while getting the coords - I guess
BPortLink doesn't like to be written to from two different threads :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12742 a95241bf-73f2-0310-859d-f6bbb57e9c96
- there can only be one _UPDATE_ message at a time in the queue so we
can stop searching after we hit the first one
- mouse coordinates are always send in screen coordinates (unlike R5,
which means this is a compatibility problem), so we need to convert
them even for the current view.
Apps should now work with the old synchronous controls method (even
though their drawing updates look clumsy and are slow compared to
asynchronous controls for whatever reason).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12730 a95241bf-73f2-0310-859d-f6bbb57e9c96
messages from the port.
BView::GetMouse() now calls this function if it was called from the window's
thread and thus blocking the message loop.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12716 a95241bf-73f2-0310-859d-f6bbb57e9c96
just those before the first mouse message.
This should be more correct and look better.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12715 a95241bf-73f2-0310-859d-f6bbb57e9c96
- it returned on _UPDATE_ messages without a mouse position
- it no longer calls DispatchMessage() for everything anymore,
however, it will still call BWindow::DispatchMessage() directly
for _UPDATE_ messages
- it didn't care for B_MOUSE_DOWN messages
- it didn't unlock the queue in case it found a message.
(this message actually reflects the differences to r12683 of this
file, but the newer one r12705 was even more broken, but in other
ways)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12714 a95241bf-73f2-0310-859d-f6bbb57e9c96
Made instantiation from BMessage more robust.
Fixed some crashing bugs (in ResolveSpecifier() (don't delete a string
that you don't own, in the BView iteration code in deleteView(), ...).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10743 a95241bf-73f2-0310-859d-f6bbb57e9c96
BView::IsHidden().
Commented a ToDo: item in BView::Hide().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5417 a95241bf-73f2-0310-859d-f6bbb57e9c96
* in updateCachedState(), now all font attributes are received at once; I realized app_server doesn't need the flag based system. :-)
* added a new method: PrintToStream() - used for debugging.
* now the view state is allocated and initialized in BView::InitData(...)
* modified a few things in addToList(...) 'cause I don't know what was in my head when I wrote it?!
* added _ReservedView2-18() methods because of linker errors.
* a new method used for debugging: PrintTree()
* added debugging messages for a few methods
* TESTED view hierarchy methods like AddChild() and RemoveChild() RemoveSelf() - They WORK! :-)))
* minor but significant :-) ( = instead of == ) change in findView(...)
*** Tree structure is in place now, mirrored on app_server ... and working :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4684 a95241bf-73f2-0310-859d-f6bbb57e9c96