27009 Commits

Author SHA1 Message Date
Ingo Weinhold
412319e8eb * Use a singly linked list for the deferred free entries.
* Added deferred_delete() that takes a DeferredDeletable and deletes it
  asynchronously.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28285 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28285
2008-10-22 14:46:20 +00:00
Ingo Weinhold
63a9f18f31 Added MoveFrom().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28284 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28284
2008-10-22 14:43:46 +00:00
Rene Gollent
950eeadd92 Factor out a ValidateDest() function that checks if the destination is valid
and throws up a BAlert if not. Reuse this when the user clicks expand to check
for and grab the destination path. This fixes the problem that if the user
manually types in or pastes a destination path and then immediately clicks
Expand, the actual destination path used is never updated. Thanks to Daniel
Teixeira for reporting.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28283 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28283
2008-10-22 13:54:30 +00:00
Axel Dörfler
4932bc5ea8 * Added the BeOS feature that Command-~ (with American keymap) will switch
workspaces between this and the previous one.
* Note that this is mapped to a specific key on the keyboard (key 17), so
  it will differ with the keymap, but will usually be the key below the escape
  key.
* This closes ticket #2766.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28282 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28282
2008-10-22 12:02:49 +00:00
Axel Dörfler
89b1afd16c * Added a new window feel kPasswordWindowFeel that is above all other feels.
* Changed the password window to use this feel.
* Later, the screen saver itself should use this feel whenever the password
  mode is enabled. The password window should then use a modal-app feel, but
  this doesn't work yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28281 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28281
2008-10-22 11:51:23 +00:00
Axel Dörfler
18ad0f1b8a * Added a new kernel setting "syslog_buffer_size" to change the size of the
internal syslog ring buffer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28280 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28280
2008-10-22 10:41:31 +00:00
Axel Dörfler
8d805b68a5 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28279 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28279
2008-10-22 10:29:54 +00:00
Axel Dörfler
210b7fe013 * Applied patch by Adrian Panasiuk (Adek336) to fix the syslog output to insert
the <DROP> marker at the place data was dropped, not somewhere else. See
  ticket #156; this might already fix this bug.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28278 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28278
2008-10-22 10:22:26 +00:00
Axel Dörfler
ab869c3c27 * The ref_count member should definitely be initialized - thanks Stefano!
* This might fix bug #2894.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28277 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28277
2008-10-22 09:04:41 +00:00
Alexandre Deckner
6dee6b8c17 * Do the locking and lock check in an outer 'if', the window could be left
unlocked if the whole condition wasn't true. Thanks stippi!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28276 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28276
2008-10-22 09:02:17 +00:00
Michael Pfeiffer
380699bf25 Fixed wrong condition in assertion.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28275 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28275
2008-10-22 04:18:52 +00:00
Alexandre Deckner
369ad66d92 * Lock the window when saving windows states in Tracker::QuitRequested.
This was the cause of #2571 and duplicate #2888 although the bug wasn't 
 triggered anymore since r28205.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28274 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28274
2008-10-21 23:00:13 +00:00
Ingo Weinhold
8f06357d66 Style changes:
* Renamed static variables.
* Enforced 80 columns limit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28273 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28273
2008-10-21 21:48:56 +00:00
Maurice Kalinowski
65b27c0e43 - Add option to stick Magnify to a certain coordinate.
- Keep updating on this area
- Fixes #2831



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28272 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28272
2008-10-21 21:37:31 +00:00
François Revol
d4dcbf95f6 - Fix build.
- make system_time() return something sensible until platform code works.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28271 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28271
2008-10-21 21:23:55 +00:00
Maurice Kalinowski
5430c032f4 Whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28270 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28270
2008-10-21 20:57:27 +00:00
François Revol
03654fddca A naive icon for XEmacs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28269 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28269
2008-10-21 20:49:32 +00:00
Karsten Heimrich
9a321797d9 * fix wrong cast
* fix r5 target build



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28268 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28268
2008-10-21 20:21:16 +00:00
François Revol
5b89d754a5 shut up complaining for something not even Linux supports.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28267 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28267
2008-10-21 19:01:44 +00:00
Stephan Aßmus
14fbec3e8c * Correct perspective of flag and snapped path points to pixels
* moved flag slightly for better crispness
Hope you don't mind, nice work, Francois!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28266 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28266
2008-10-21 18:48:13 +00:00
Stephan Aßmus
bf7e59ef95 A new batch of icons from zuMi! Thanks!
* Slightly worked over the Image Editor icon to improve crispness at 16x16).
* The shadow of the pendrive could perhaps be improved.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28265 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28265
2008-10-21 18:30:43 +00:00
François Revol
788c681426 An empty version of the mail box icon, with the flag down. Might be used for the Deskbar replicant.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28264 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28264
2008-10-21 18:19:03 +00:00
Axel Dörfler
154fe8497c * AcpiOsReadPciConfiguration() always return AE_ERROR as all "break"s were
missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28263 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28263
2008-10-21 12:38:00 +00:00
Ingo Weinhold
53892c92a0 * Replaced scheduler_remove_from_run_queue() by
scheduler_set_thread_priority(). Setting the thread priority was the
  only situation in which it was used.
* Renamed scheduler.cpp to scheduler_simple.cpp.
* The scheduler functions are no longer called directly. Instead there's
  an operation vector now, which is initialized at kernel init time.
  This allows for picking the most suitable scheduler for the machine
  (e.g. a non-SMP scheduler on a non-SMP machine).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28262 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28262
2008-10-21 12:37:13 +00:00
Axel Dörfler
997c3d8afb * Renamed TMWindow to TeamMonitorWindow, TMListItem to TeamListItem, TMDescView
to TeamDescriptionView.
* Renamed files accordingly.
* Minor cleanup (made TeamListItem::fFound private, and added accessor methods).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28261 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28261
2008-10-21 12:30:25 +00:00
Axel Dörfler
4d34c4eba6 * The description shown in the team monitor is now actually true: if you keep
ctrl-alt-del pressed for 4 seconds, the system will reboot.
* Not sure if this makes any sense, though, as the button can be selected via
  the keyboard as well (in BeOS, the reboot is triggered in the device, so it
  will also work if the input_server hangs).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28260 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28260
2008-10-21 12:15:19 +00:00
Axel Dörfler
5ab489bfea * Made the team monitor use the layout engine.
* This is actually a work in progress, but the functionality of the former
  version should be preserved.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28259 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28259
2008-10-21 11:16:41 +00:00
Axel Dörfler
9e163a7a93 * Made BScrollView work when using it with the layout system.
* Added a layout friendly constructor - it's not so nice to use, though, since
  the original one already doesn't get a BRect (we just don't need the
  resizing mode, and have to set the B_SUPPORTS_LAYOUT flag).
* Refactored size/frame computation a bit.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28258 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28258
2008-10-21 10:14:24 +00:00
Ingo Weinhold
aa12f6f8fc Fixed broken assert.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28257 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28257
2008-10-21 10:13:07 +00:00
Karsten Heimrich
7cbd3ce5d8 * fix broken interface caused due to our changes to BMenuField, BTextControl
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28256 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28256
2008-10-21 06:58:26 +00:00
Rene Gollent
a325faf93f Omitted change in 28244, the handle wasn't passed. Thanks thotypous!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28255 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28255
2008-10-21 03:06:33 +00:00
Ingo Weinhold
1d1eb06e15 "lastTime" wasn't updated correctly when the thread was unscheduled.
"scheduler" would therefore print incorrect latencies.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28254 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28254
2008-10-20 23:12:06 +00:00
Ingo Weinhold
768036bb6e Moved scheduler.cpp into new subdirectory scheduler/. Moved the
scheduler tracing and scheduler analysis code into separate source
files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28253 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28253
2008-10-20 22:57:40 +00:00
Jérôme Duval
4dafc175e9 takes into account the offset used in realpath(). see bug #2895. Thanks kaliber!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28252 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28252
2008-10-20 21:41:30 +00:00
François Revol
ff1beff8d1 Add OpenBSD to the list of supported build platforms.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28251 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28251
2008-10-20 19:44:06 +00:00
François Revol
f868be6863 - Have OpenBSD use gmake
- export MAKE to make sure submakes use it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28250 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28250
2008-10-20 19:40:36 +00:00
Jérôme Duval
7cf856daef acpi_get_object can be called with a null path
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28249 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28249
2008-10-20 19:03:19 +00:00
Ingo Weinhold
59dbd26f5f * Moved more debug macros to kernel_debug_config.h.
* Turned the checks for all those macros to "#if"s instead of "#ifdef"s.
* Introduced macro KDEBUG_LEVEL which serves as a master setting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28248 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28248
2008-10-20 14:24:46 +00:00
Ingo Weinhold
1894a0a98b Consistently use KDEBUG. It is always defined and therefore must be
checked with "#if".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28247 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28247
2008-10-20 13:06:04 +00:00
Ingo Weinhold
b2568a30b1 Patch by romain: Fixed FD leak after opening an image that has already
been loaded.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28246 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28246
2008-10-20 11:42:14 +00:00
Ingo Weinhold
05fd6d79fe Fixed bug introduced in r28223: The counter whose modulo was used as
index into the sLastCaller array is vint32, so after overflowing the
modulo operation would yield negative indices. This would cause the
256 bytes before the array to be overwritten. Might also be the cause of
#2866.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28245 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28245
2008-10-20 11:04:24 +00:00
Ingo Weinhold
47c40a10a1 * Prefixed memset_physical() and memcpy_to_physical() with "vm_",
added vm_memcpy_from_physical() and vm_memcpy_physical_page(), and
  added respective functions to the vm_translation_map operations. The
  architecture specific implementation can now decide how to implement
  them most efficiently. Added generic implementations that can be used,
  though.
* Changed vm_{get,put}_physical_page(). The former no longer accepts
  flags (the only flag PHYSICAL_PAGE_DONT_WAIT wasn't needed anymore).
  Instead it returns an implementation-specific handle that has to be
  passed to the latter. Added vm_{get,put}_physical_page_current_cpu()
  and *_debug() variants, that work only for the current CPU,
  respectively when in the kernel debugger. Also adjusted the
  vm_translation_map operations accordingly.
* Made consequent use of the physical memory operations in the source
  tree.
* Also adjusted the m68k and ppc implementations with respect to the
  vm_translation_map operation changes, but they are probably broken,
  nevertheless.
* For x86 the generic physical page mapper isn't used anymore. It is
  suboptimal in any case. For systems with small memory it is too much
  overhead, since one can just map the complete physical memory (that's
  not done yet, though). For systems with large memory it counteracts
  the VM strategy to reuse the least recently used pages. Since those
  pages will most likely not be mapped by the page mapper anymore, it
  will keep remapping chunks. This was also the reason why building
  Haiku in Haiku was significantly faster with only 256 MB RAM (since
  that much could be kept mapped all the time).
  Now we're using a different strategy: We have small pools of virtual
  page slots per CPU that are used for the physical page operations
  (memset_physical(), memcpy_*_physical()) with CPU-pinned thread.
  Furthermore we have four slots per translation map, which are used to
  map page tables.

These changes speed up the Haiku image build in Haiku significantly. On
my Core2 Duo 2.2 GHz 2 GB machine about 40% to 20 min 40 s (KDEBUG
disabled, block cache debug disabled). Still more than factor 3 slower
than FreeBSD and Linux, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28244 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28244
2008-10-20 00:06:09 +00:00
Ingo Weinhold
ef8a9c3074 Removed tests from the implementation directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28243 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28243
2008-10-19 23:56:48 +00:00
Axel Dörfler
b6a7b20419 * Removed the log file stuff; debug output is now using debug_printf() instead.
* Removed an inconsistency: both mouse and keyboad input device add-ons would
  scan /dev/input/keyboard respectively /dev/input/mouse when loaded, but then
  only monitor certain subdirectories from it. Now they monitor all.
* Made KeyboardInputDevice::InitCheck() do what the name says, ie. nothing
  else.
* Now uses BObjectList instead of BList, which also simplifies the code a bit.
* Make use of the new BPathMonitor messages: as those contain a path, they
  greatly simplify their handling.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28242 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28242
2008-10-19 15:59:23 +00:00
Axel Dörfler
23debb05d0 * Rewrote InputServerDevice.h header.
* Renamed _BDeviceAddOn_ to DeviceAddOn, and put it into the BPrivate namespace.
* Moved the DeviceManager functionality into the AddOnManager - this also
  solves a locking issue, as BInputServerDevice::Control() was called in the
  context of the DeviceManager before.
* The AddOnManager now uses the BPathMonitor to monitor the devices that
  BInputServerDevices ask for - this greatly simplifies the code.
* Got rid of TList.h, and use ObjectList.h instead.
* Added PathList class that has a list of paths with reference count, used by
  DeviceAddOn and the AddOnManager.
* DeviceAddOn got an actual implementation that lives in InputServerDevice.cpp.
* Added an experimental BInputServerDevice::AddDevices() that could be used
  instead of recursing over devices manually. It replaces the functionality
  that was found in the DeviceManager before (this was done implicitely for
  all monitored devices).
* Greatly cleaned up and simplified the AddOnManager.
* Also fixed lots of potential errors/leaks when things go wrong.
* Removed the extra locker in AddOnManager - its BLooper lock is now used
  instead.
* Replaced PRINT()/PRINTERR() macros in the AddOnManager with TRACE(), and
  ERROR(), both now use debug_printf().
* Hopefully this fixes the problem that I don't have keyboard under VirtualBox
  from time to time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28241 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28241
2008-10-19 15:48:34 +00:00
Axel Dörfler
ab42853558 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28240 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28240
2008-10-19 13:17:29 +00:00
Axel Dörfler
bfc4ee026d * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28239 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28239
2008-10-19 13:16:34 +00:00
Axel Dörfler
310a9c9e21 * Setting to the saver full screen and back is no longer needed when the
password window shows up (this avoids getting the Deskbar to front when
  the password window shows up).
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28238 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28238
2008-10-19 13:15:58 +00:00
Axel Dörfler
c1e7c02d9e * If only files are watched, PathHandler::_AddFile() will now notify the target
when it was called from a notification function.
* This means you'll no longer have to watch (and scan) directories when you're
  interested in new files alone. Maybe this functionality could be used for
  other cases as well, or be activated only via an additional flag.
  Opinions? Stippi? :-)
* TRACE() no goes to /dev/dprintf by default, added a bit more trace output.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28237 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28237
2008-10-19 13:13:51 +00:00
Karsten Heimrich
d751323939 * reintroduce member fOffscreen which got removed in r2917
* check if locking the offscreen window succeeds before calling delete on it
* don't return offscreen windows in CountWindows and WindowAt (works now as on R5)

  fixes ticket 1522, 1591, 1946, 2318 and propably more

  While creating an BBitmap in BApplication the bitmaps window looper would
  be added to the applications gLooperList, thus calling Quit() on that window
  and later delete on a stale window pointer in BBitmaps dtor. The Lock() check
  would fix the problem, but tests on R5 have shown that BApplication hides the
  offscreen window in CountWindows() and WindowAt().



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28236 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev28236
2008-10-19 12:23:18 +00:00