Commit Graph

32054 Commits

Author SHA1 Message Date
Axel Dörfler
4cadec3d6e * Thanks for the heads up, David! :-))
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-23 00:20:53 +00:00
Axel Dörfler
3530c3eb6b * Reimplemented the insane _get_next_thread_info() which previously just
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
2009-10-23 00:09:45 +00:00
Michael Lotz
4f5d9ca63d Fix libkernelland_emu build after ConditionVariable and devfs changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-22 23:50:15 +00:00
Axel Dörfler
f28dd36b82 * The alphabet is obviously hard, moved some tracing defines at their
(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
2009-10-22 23:14:10 +00:00
Adrien Destugues
14cf6a83c5 This does seem more logical and makes it build on gcc4. Not sure if it's the right thing :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-22 22:09:20 +00:00
Axel Dörfler
b198850a1b * Messed up the commit, sorry.
* Adrien? :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-22 21:14:10 +00:00
Brecht Machiels
926e63c885 * added click to focus mouse mode; right-click for bring-to-front and send-to-back
(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
2009-10-22 21:10:19 +00:00
Axel Dörfler
9c90fc59d2 * Disabled the LVDS post2 for i965 cards, maybe that helps Adrien, and don't
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
2009-10-22 20:36:45 +00:00
Axel Dörfler
5c056f9f10 * set_port_owner() was the only usable call of the port API, and of course it
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
2009-10-22 16:10:28 +00:00
Axel Dörfler
48c06f4214 * _GetCharacterAt() might actually fail - this fixes a bug causing the bitmap
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
2009-10-22 14:00:17 +00:00
Axel Dörfler
e8885f2097 Basically rewrote the ports subsystem to use:
* 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
2009-10-22 13:24:12 +00:00
Axel Dörfler
534a4df194 * Minor cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-22 13:14:32 +00:00
Michael Lotz
ee7ec20503 Account for single page allocations. They aren't used anywhere right now because
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
2009-10-22 13:06:15 +00:00
Axel Dörfler
4e61885e4a mmlr+axeld:
* 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
2009-10-22 12:30:53 +00:00
Michael Lotz
6bb413270b The allocation size wasn't updated on an area based realloc that would still
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
2009-10-22 12:05:50 +00:00
Axel Dörfler
e0aad96f94 * Allow to use symbols as variables (prefixed with '@'). Now only tab completion
for variable names is missing B-}


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-22 11:44:29 +00:00
Axel Dörfler
68d9d8809b * Just use the heap instead of cbuf for send_data().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-22 11:42:51 +00:00
Michael Lotz
4bee71c211 * Implement per-CPU heaps. They only get enabled in case there's enough memory.
* 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
2009-10-22 08:57:34 +00:00
Oliver Tappe
31b71c1ac3 * restoring original state
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-22 08:30:06 +00:00
Oliver Tappe
ad8566ad00 * just testing the handling of subversion keywords, please ignore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-22 08:26:57 +00:00
Michael Lotz
5ee1f125e5 Make use of the wait status field so it can be provided in Notify() and then
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
2009-10-21 23:44:59 +00:00
Oliver Tappe
ec39794897 fix regression reported in #4826:
* 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
2009-10-21 20:39:26 +00:00
Adrien Destugues
63b04e111b Updated msk and related mii to current freebsd head.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 20:37:18 +00:00
Adrien Destugues
e78ad19f6b Added new methods introduced in freebsd head that encapsulate macros to allow better binary compatibility if the locking way ever changes. These are not really useful, but needed for newer drivers sourcecode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 20:26:40 +00:00
Oliver Tappe
32c8ab89a9 * added _TabExpandedStyledWidth(), which makes sure to expand all tab chars
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
2009-10-21 19:09:20 +00:00
Oliver Ruiz Dorantes
ee739a2777 Tab for spaces
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 18:10:12 +00:00
Axel Dörfler
d4563f903d * Use kprintf() instead of dprintf() in KDL.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 18:03:07 +00:00
Adrien Destugues
98c24e6fd3 Added lithuaninan locale done by Algirdas Buckus. Thanks !
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 17:31:33 +00:00
Axel Dörfler
e7baaab3ae * "sc" and "call" will no longer ignore if they couldn't find the thread you
asked them for.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 17:08:52 +00:00
Axel Dörfler
1192454dfc * Enabled and simplified the "double click team to front" feature, as it
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
2009-10-21 15:51:59 +00:00
Michael Lotz
6c4570c807 Also name these BLockers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 15:29:31 +00:00
Michael Lotz
1d984896da Name the lockers to be able to identify them when debugging/analyzing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 15:27:22 +00:00
Michael Lotz
6fb91db708 We didn't acquire/release a BSound reference when playing using a BSoundPlayer
which lead to #4825.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 15:20:37 +00:00
Axel Dörfler
1c7348a787 * Moved the window item sort logic as static method into the TWindowMenuItem
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
2009-10-21 13:59:55 +00:00
Oliver Tappe
b18f133db3 generally overhauled non-wrapping mode of BTextView, as it was considerably broken:
* 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
2009-10-21 13:42:25 +00:00
Oliver Tappe
3ee51068f7 * added helper method MaxWidth() to BTextView::LineBuffer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 13:06:06 +00:00
Axel Dörfler
5441423d49 * Obviously, CalendarMenuItem.cpp was still part of the build, even though it
wasn't in use for quite some time anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 13:05:02 +00:00
Axel Dörfler
dd8bedc1a9 * Removed the CalendarMenuItem class as it's not used anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 12:03:09 +00:00
Axel Dörfler
c5c6248e3d * Got rid of the _SHOW_CALENDAR_MENU_ITEM, and _SHOW_CALENDAR_MENU_WINDOW
defines - it's always in, and I don't think it makes any sense to make this
  an option (since it just uses a system widget).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 12:00:56 +00:00
Axel Dörfler
733ca9bd93 * Made the font size depend on the be_plain_font size, instead of a hard coded
one.
* Some coding style cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 11:30:21 +00:00
Axel Dörfler
a406b1e625 * When switching the workspace while moving a window around, that window got
added to the window list without considering its frontmost window. That caused
  problems with all feels that were always on top, like
  B_ALL_WINDOW_FLOATING_FEEL. This was causing bug #4700.
* Disabled the "previous window keep keyboard focus" heuristic - it doesn't
  really work that well. There should be a central mechanism that detects active
  typing that could also be used to disable touchpads.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 10:14:09 +00:00
François Revol
ff4169d224 Add checkitout to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 10:06:31 +00:00
François Revol
265078a6df Introducing CheckItOut: a small urlwrapper spin-off that handles SCM urls and checks them out for you where you want them.
Supports git: for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 10:05:47 +00:00
Axel Dörfler
823808b52b * If you only want to search in text files, TextSearch will now guess the MIME
type if a file doesn't have one yet (and set it), instead of ignoring it
  completely.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 09:47:26 +00:00
Axel Dörfler
10075eae29 * Fixed search history: chicken and egg problem - it couldn't save the history
if it couldn't load it.
* Shortened license text.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 09:27:13 +00:00
François Revol
69955dd988 Add a --name argument to preset the name of the file to save.
I should probably use getopts() here...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 08:33:17 +00:00
François Revol
80351b4d41 - this should fix gcc2 build, sorry ;)
- style fixes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 08:21:53 +00:00
François Revol
223ae47d99 Extend the Ctrl-Alt-arrows shortcuts to also move the current window when shift is held, as on Gnome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-20 23:45:18 +00:00
Michael Lotz
35e7c9642f Fix dirent handling. The d_reclen field contains the size of the whole record,
so it includes sizeof(dirent).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-20 22:52:35 +00:00
Adrien Destugues
b7c0cbd2f3 Bulgarian locale done by cssvb94. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-20 21:40:08 +00:00