Cleaned up _get_thread_info() & _get_next_thread_info() - factored out
the thread_info setup into fill_thread_info().
Is now using team_is_alive() instead of team_get_team_struct().
Replaced SYS_MAX_OS_NAME_LEN with B_OS_NAME_LENGTH.
Banned strncpy() in favor for strlcpy().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6683 a95241bf-73f2-0310-859d-f6bbb57e9c96
actually used at several places (like get_next_thread_info(), ...).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6682 a95241bf-73f2-0310-859d-f6bbb57e9c96
Replaced some old error codes.
Explained a bit more how to solve a race condition.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6681 a95241bf-73f2-0310-859d-f6bbb57e9c96
Removed old error codes.
Replaced the DEVFS_IOCTL_* with their Be equivalents. Note, the related
functions are not user space safe yet. But since the devfs will be
almost rewritten, there is no point in changing it now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6679 a95241bf-73f2-0310-859d-f6bbb57e9c96
You don't have to check against NULL when deleting an object.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6674 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added our license to the updated source files.
Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6672 a95241bf-73f2-0310-859d-f6bbb57e9c96
ModifyFlags() now sets B_FRAME_EVENTS if B_FULL_UPDATE_ON_RESIZE was not set.
Fixed a small bug in SetBorder().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6665 a95241bf-73f2-0310-859d-f6bbb57e9c96
Correctly implemented SetBorderHighlighted(), but differently from BeBook
description (see comment).
Unlike the R5 version, correctly implemented SetBorder().
Draw() now takes SetBorderHighlighted() into account.
The BScrollView(BMessage *) constructor now searches its children for
the scroll bars, no matter in what order they are.
Corrected a drawing glitch that was also exposed in the R5 version (the
scroll bars are misplaced for anything else but B_NO_BORDER).
Renamed resizeMask to the more usual resizingMode.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6664 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added SetBorder() test.
You can now enable the additional tests more differentiated.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6662 a95241bf-73f2-0310-859d-f6bbb57e9c96
Implemented SetTarget().
Implemented BArchivable methods, R5 compatible.
The constructor still crashes when the provided target is NULL (as R5),
but the rest now accepts it (to make it reliable against SetTarget() and
shallow archiving).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6660 a95241bf-73f2-0310-859d-f6bbb57e9c96
so this is no problem).
On second thought, I like "archive" better than "data" for the Archive message
name.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6659 a95241bf-73f2-0310-859d-f6bbb57e9c96
Now uses ModFlags() instead of direct code in the constructor.
Moved CalcFrame() and ModFlags() a bit more to the top.
Fixed initial scroll bar values (name and maximum value now match
the R5 implementation).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6652 a95241bf-73f2-0310-859d-f6bbb57e9c96
with all possible different scrollview combinations (horiz/vert/border/highlight).
The Jamfile will build two versions, ScrollViewTest and ScrollViewTest_r5;
the former compiles our ScrollView.cpp in, while the latter just uses the
one in libbe.so.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6647 a95241bf-73f2-0310-859d-f6bbb57e9c96
The Draw() method now draws all supported borders, but no highlighting yet.
CalcFrame() now seems to work correctly.
Fixed warnings due to missing return codes from non-implemented methods.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6646 a95241bf-73f2-0310-859d-f6bbb57e9c96
the scroll bars, but it won't do much more yet; no border, no highlighting,
no ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6644 a95241bf-73f2-0310-859d-f6bbb57e9c96
the last position. The "next", "previous", and "back" position changing
menu items do now work.
Cleaned up target notification for the HeaderView.
"Block/Write" accidently had the wrong short-cut.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6637 a95241bf-73f2-0310-859d-f6bbb57e9c96
and others.
MouseMoved() no longer passes an invalid position to SetSelection() (avoiding
the selection to be changed unexpectedly). It will now also make sure that the
position hovered by the mouse is visible.
PositionAt() no longer skips points that are not inside the valid bounds (even
the wrong bounds), but clips the point to be inside of it.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6636 a95241bf-73f2-0310-859d-f6bbb57e9c96
whenever the window got activated.
New DataView::MakeVisible() makes sure the specified position is visible
in the view, and scrolls to it if not (both, horizontally and vertically).
Implemented cursor navigation and selection extension in the DataView class.
Fixed a bug in DataView::SetSelection() that could let slip through invalid
values.
Renamed DataEditor observer notices.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6634 a95241bf-73f2-0310-859d-f6bbb57e9c96
that should not be the default behaviour of the DataView class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6633 a95241bf-73f2-0310-859d-f6bbb57e9c96
with 0!) by one. Also, SetFileSize() now checks if the position is within
valid bounds.
The device offset is now correctly maintained (it also adds the view offset).
The view offset is now taken into account, too (but it doesn't yet get any
updates from the DataView).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6625 a95241bf-73f2-0310-859d-f6bbb57e9c96
decimal, hexadecimal, and octal values (it is using strtoll(..., 0);)
Setting the number base type does now work, too.
Updated the Slider class to a PositionSlider class that creates the
illusion of supporting off_t values - almost (see note in Position()).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6623 a95241bf-73f2-0310-859d-f6bbb57e9c96
it. This way, it can directly be used in the BAutolock class, and also provides
some more sophisticated locking functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6621 a95241bf-73f2-0310-859d-f6bbb57e9c96
and removed the "newData" calculation, since "dataLen" already contained
the same value.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6613 a95241bf-73f2-0310-859d-f6bbb57e9c96
Some BeOS classes really are very stupid or just inferior:
- added DynamicScrollView class that adds and removes scroll bars as needed
and automatically takes care of the correct scroller range and proportions.
- added TabView class that is smart enough to resize its container view
and the tab views as well.
Both classes could be used in other environments, too. DynamicScrollView
would be a nice addition to BScrollView R2 - might be put into a shared
source directory for now (or into libbe's BPrivate namespace?).
The TabView additions could almost be moved to BTabView without breaking
compatibility, just the resizing mode of the tab views have to be respected.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6612 a95241bf-73f2-0310-859d-f6bbb57e9c96
why they weren't yet - BTW this fixes the boot_loader build.
If anyone has a better idea about _KERNEL_MODE, please yell!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6597 a95241bf-73f2-0310-859d-f6bbb57e9c96
output as the original DiskProbe.
fFontSize and fAscent are now automatically maintained when the font
size is changed. Rendering improved (spacing and location).
The maximum window size is now set to contain the whole data view.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6569 a95241bf-73f2-0310-859d-f6bbb57e9c96
No longer uses the node monitoring itself, but the watching mechanism
provided by the DataEditor (it now even does this at the right place).
Removed some variables now maintained by the DataEditor.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6568 a95241bf-73f2-0310-859d-f6bbb57e9c96
For your entertaining it already shows the first block of the file/device.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6567 a95241bf-73f2-0310-859d-f6bbb57e9c96
mechanism) - it's not really used yet, though.
Fixed some variable initialization bugs and missing return values.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6566 a95241bf-73f2-0310-859d-f6bbb57e9c96
The gradient below the header is now drawn by the scroll view, and no longer
by the HeaderView.
The ProbeView can now add a BMenuBar to a window if there is none yet - it
will also create a file menu there and add its print menu items (which is
now in a separated method and called by the ProbeWindow, too).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6555 a95241bf-73f2-0310-859d-f6bbb57e9c96
one to 20 (instead of 15) which fits DiskProbe's value.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6552 a95241bf-73f2-0310-859d-f6bbb57e9c96
Moved position of first window a bit more to the center.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6550 a95241bf-73f2-0310-859d-f6bbb57e9c96
Does not yet maintain the window position on disk (nor any other settings).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6549 a95241bf-73f2-0310-859d-f6bbb57e9c96
cache warnings.
Now prints out actual useful information with the -v option.
Removed DEBUG from the build, so that it's now silent and can be used as
a replacement of the original.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6482 a95241bf-73f2-0310-859d-f6bbb57e9c96
to be able to remove the cache correctly (without issuing any warnings).
The Volume::Initialize() method is now only defined in USER mode (of course, this
will change in OpenBeOS).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6481 a95241bf-73f2-0310-859d-f6bbb57e9c96
functions that can be used by the "mkbfs" command (and similary ones).
Also added a kill_device_vnodes() function which should be called before removing
the cache in the file system's "initialize volume" function - again, its use is
intended for the "mkbfs" utility only.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6480 a95241bf-73f2-0310-859d-f6bbb57e9c96
- locking policy is now: 1) the volume lock, 2) the inode lock, 3) start
the transaction (the journal lock) - you don't need all locks, but you
have to follow this order when you need more than one of them.
- in many cases, this makes our inode read/write lock useless. I am really
looking forward to the OpenBeOS VFS layer where we can remove many of
these locks again.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6464 a95241bf-73f2-0310-859d-f6bbb57e9c96
Probably doesn't work, but it can be used as a template :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6453 a95241bf-73f2-0310-859d-f6bbb57e9c96
Note: if anything in this Jamfile builds properly, it should get
part of the build, right?
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6452 a95241bf-73f2-0310-859d-f6bbb57e9c96
Now acquires the volume lock always before get_vnode() is called as long
as UNSAFE_GET_VNODE is defined (which now is by default).
May cause some unwanted side-effects; it still has to be thorougly tested.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6424 a95241bf-73f2-0310-859d-f6bbb57e9c96
crash: bfs_inode::InitCheck() didn't check INODE_DELETED, and Inode::Remove()
didn't clear the INODE_IN_USE flag (as the original BFS, IIRC).
Some more debug output and checks.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6416 a95241bf-73f2-0310-859d-f6bbb57e9c96
fsh command (which is part of BeOS for some unknown reason).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6415 a95241bf-73f2-0310-859d-f6bbb57e9c96
the Inode will now be deleted, and it will only be tried to be instantiated
if the indices block_run is not zeroed out.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6406 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added a ToDo comment so that I don't forget to add the standard indices :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6381 a95241bf-73f2-0310-859d-f6bbb57e9c96