I thought there was a ticket about this bug, but couldn't find it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33750 a95241bf-73f2-0310-859d-f6bbb57e9c96
* added header for dealing with binary numbers and bitmasks (C++ templates)
these "macro's" might not work well for long words, though
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33749 a95241bf-73f2-0310-859d-f6bbb57e9c96
returns valid data. Since the data is still valid in the copy, we don't need
to clear the corresponding flag when copying a message. This is most probably
the same behaviour as in R5 as Tracker seems to expect that in the case where
a drop is done after a menu was displayed as in #4757. Thanks to aldeck for
tracking that one down inside Tracker, should fix#4757.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33746 a95241bf-73f2-0310-859d-f6bbb57e9c96
Using macro nonnull which actually resolves to an attribute doesn't work
on inline functions.
Thx to mmlr for helping out.
Eitherway it should have worked in the first place, because the compiler
has all the information it needs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33745 a95241bf-73f2-0310-859d-f6bbb57e9c96
busy processing other things, the file could be gone by the time we processed
the fs notification message of the entry creation. This case wasn't handled
properly and would cause #4130 and most certainly duplicate #4831, #4610 and
also possibly #4271.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33744 a95241bf-73f2-0310-859d-f6bbb57e9c96
* This makes sem_delete_owned_sems() a lot more efficient; before it would need
to scan the entire semaphore table.
* This speeds up the test build of the kernel by another 2 seconds (with
KDEBUG=2) on my laptop.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33743 a95241bf-73f2-0310-859d-f6bbb57e9c96
the network drivers needed to be adjusted to the header reordering, too
sorry
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33740 a95241bf-73f2-0310-859d-f6bbb57e9c96
ordering.
this makes porting driver (especially wifi ones) more
convinient
* based on FreeBSD svn revision 196691
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33739 a95241bf-73f2-0310-859d-f6bbb57e9c96
iterated over all known thread *IDs* with interrupts disabled.
Now it iterates over the team's thread list (going from back to front, since
new threads are added at the front of the singly linked queue).
* Alexandre restarted Tracker quite a lot, and let the shell script run to
reproduce a certain bug - and then wondered why ProcessController would
take several seconds to open its windows until it passed through more than
8 million IDs... :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33737 a95241bf-73f2-0310-859d-f6bbb57e9c96
(hopefully) correct place.
* It seems to be even harder to understand basic locking primitives: when you
think about it, it shouldn't surprise you that conditional variables never
return B_WOULD_BLOCK. This fixes gdb again.
* Added tracing support to the ports subsystem.
* get_port_message() will now resize the port heap if needed (but will also
take timeouts into account while doing so, more or less). The initial port
space is 4MB (as before), the growth rate is the same, and the system wide
limit is arbitrarily set to 64 MB (all swappable). A team limit has been set
to 8 MB, but is not enforced yet. Since ports are using up address space in
the kernel, those seems to be proper limits.
* This also fixes a strange, and rare lockup where the mouse cursor would still
move, but everything else would basically hang, but look perfectly normal from
KDL on the first look. As recently happened on Brecht's laptop, and debugged
by mmlr and me: the cbuf space got used up when lots of windows wanted to
redraw after a workspace switch. The app_server wouldn't answer anymore to
client requests, but thought it would have done so, as LinkSender::Flush()
doesn't care if it got a B_NO_MEMORY (the ports will now block until memory
is available if possible, so that should not be a problem anymore).
* Improved "port" KDL command, it now also prints the messages in the port.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33735 a95241bf-73f2-0310-859d-f6bbb57e9c96
(might cause some regressions in FFM)
* made accept first click user configurable
* updated the Mouse preflet to use the layout kit
* removed the warp and instant warp modes from the Mouse preflet
* changed internal representation of mouse modes (warp modes moved)
* coding style fixes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33732 a95241bf-73f2-0310-859d-f6bbb57e9c96
break the display for others. If that doesn't work out, there is probably a
bit more to it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33731 a95241bf-73f2-0310-859d-f6bbb57e9c96
was used this way in the debugger. Doing this later should be harmless,
AFAICT, but Ingo will probably know better.
* Beware, though, the debugger currently does not work anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33730 a95241bf-73f2-0310-859d-f6bbb57e9c96
initialization to fail. This also caused a crash, as that wasn't checked for
before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33729 a95241bf-73f2-0310-859d-f6bbb57e9c96
* its own heap allocator instead of cbuf - this makes cbuf superfluous, and I
therefore removed it from the kernel. The heap is swappable, so lifts the
kernel's resource usage a bit. In the future, the heap should grow as well;
right now it should be at least as good as before.
* it no longer uses spinlocks, but just mutexes now for better scalability - it
was not usable with interrupts turned off anyway (due to its semaphore usage).
* it no longer uses semaphores, but condition variables.
* Needed to move the port initialization to a later point, as swappable memory
wasn't usable that early.
* All ports test are still passing, hopefully I didn't mess anything up :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33728 a95241bf-73f2-0310-859d-f6bbb57e9c96
the bin sizes ensure that when hitting this case it always allocates multiple
pages. This makes it more flexible for other use cases though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33726 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed some minor issues of heap_create_allocator() when it should use the
kernel heap to allocate its heap structure.
* Fixed an off by one error in the max bin check.
* Changed the KDL "heap" command to allow the "stats" for any heap as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33725 a95241bf-73f2-0310-859d-f6bbb57e9c96
fit into the existing area. In that case further reallocs could then assume the
wrong previous size and then not copy enough from the original buffer, leading
to lost bytes at the end of the new buffer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33724 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Allow an allocator to be created on the heap to allow for non-locked
allocators to be created.
* Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33721 a95241bf-73f2-0310-859d-f6bbb57e9c96
read out in the ConditionVariableEntry::WaitStatus(). That way you can notify
with a specific status that can be read out on the other end.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33718 a95241bf-73f2-0310-859d-f6bbb57e9c96
* SetTextRect for non-wrapped textviews needs to update the insets,
as otherwise several misalignments occur within several apps - renaming
in Tracker was effected the worst, though
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33717 a95241bf-73f2-0310-859d-f6bbb57e9c96
during the width calculation
* used _TabExpandedStyledWidth() at all places that need to expand tabs,
fixing #4822
* removed _StyledWidthUTF8Safe() as it didn't make sense - we now perform
the same auto-scrolling horizontally as we do vertically
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33713 a95241bf-73f2-0310-859d-f6bbb57e9c96
actually works under Haiku (with a caveat, as there is apparently an
app_server bug that prevents that most of the time).
* Simplified ExpandoMenuBar::MouseDown().
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33708 a95241bf-73f2-0310-859d-f6bbb57e9c96
class.
* Changed ExpandoMenuBar to use that logic as well, so that your entries will
always keep the same sort order.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33704 a95241bf-73f2-0310-859d-f6bbb57e9c96
* switching from wrapping to non-wrapping mode triggers a recomputation of
the text rect
* non-wrapping mode now triggers updating of the data rect for the horizontal
scrollbar as needed, fixing #4705
* corrected a couple of width computations that confused bounds and text
rect width, leading to drawing artefacts at the end of a line
* unified computation of text rect width to always take all lines into
account (not just the first one)
* some cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33703 a95241bf-73f2-0310-859d-f6bbb57e9c96