Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 195e980ef1 * Cursors are now reference counted, so it shouldn't be possible anymore
to delete them accidently :)
* You should no longer call HWInterface::SetCursor(), but the new Desktop::SetCursor()
  if you need to change the cursor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-05 19:43:44 +00:00
Axel Dörfler aa1f543799 Some work on cursors:
* Fixed a myriad of bugs all over the place, ranging from locking errors to
  deleting objects that don't belong to the one deleting them (hello HWInterface!)
* Almost all ServerWindow cursor stuff was broken; I've replaced all commands
  to set a cursor with a single one AS_SET_CURSOR.
* Renamed some cursor commands.
* Changed the (broken) way ServerApp::fAppCursor was maintained - the application
  cursor is now NULL as long as possible.
* Removed superfluous ServerCursor app signature stuff.
* The BApplication will no longer duplicate the default/I-beam cursors, it will
  just reuse the default ones which now have fixed tokens.
* As a result, changing the cursor is now working as expected, closing bug #102.
* Rewrote Cursor.h, renamed private members to match our style guide.
* Minor cleanup.

What's still left to be done is reference counting the cursor objects to make them
work right and reliable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-05 18:14:14 +00:00
Axel Dörfler 73b3ea3cd7 Fixed a few more uninitialized variables.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-05 18:03:09 +00:00
Axel Dörfler 47f1b81ce2 * fCurrentWorkspace wasn't properly initialized.
* Removed AS_SET_SYSCURSOR_DEFAULTS handling for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-05 15:58:29 +00:00
Axel Dörfler a5eeb74ac0 Let's play SetToken() and NewToken() play nice together.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16234 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-05 15:47:57 +00:00
Axel Dörfler 57a6c095d5 Work-around to make broken apps like 3dmix work - patch submitted by genki-at-bredband.net:
* we no longer drop into the debugger if BScreen is used without an app_server link.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-04 20:19:13 +00:00
Axel Dörfler a4f6a81235 Forgot to commit the updated "rc" to make AddRevisionToResources work:
* "rc" now accepts stdin as input file when "-" is used as a file name.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-03 22:29:54 +00:00
Axel Dörfler 69149327b4 This may fix Rudolf's MTRR problem - could you please try?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-03 20:19:32 +00:00
Axel Dörfler 45de8176a5 * Added the Subversion revision at build time to AboutHaiku - the revision is
automatically updated everytime AboutHaiku is built (ie. also if nothing
  changed).
* Added Oliver Tappe as contributor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-03 18:48:26 +00:00
Axel Dörfler 811ada6cae Fixed wait_for_resources() locking, reported by Ingo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-03 17:12:34 +00:00
Axel Dörfler 9f8734ebea FreeBSD doesn't have strnlen(), and therefore couldn't compile our strlcat.c.
Sorry, that was the problem actually reported by Alexander Deynichenko...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-03 12:24:15 +00:00
Axel Dörfler 40b8343312 Should fix the build under FreeBSD, problem reported by Alexander Deynichenko.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-03 12:14:56 +00:00
Axel Dörfler ff3abf4d6f * Started a naive implementation of BView::SetViewCursor() server-side - doesn't
work though, as HWInterface can only draw B_RGB32 cursors...
* More build fixes for libbe_test target - it defines __HAIKU__ as well, now


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-02 20:19:29 +00:00
Axel Dörfler f7969f54fb Fixed build in the test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-02 20:08:16 +00:00
Axel Dörfler ce3f3b5af2 Slightly improved font sensitivity of the top bar.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-02 18:32:22 +00:00
Axel Dörfler 662dc0bdc8 This fixes the appearance when the slider is directly added to the window, ie.
like it's done in Chart - didn't set the background correctly before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16208 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-02 18:16:57 +00:00
Axel Dörfler 7d34abc3e8 No longer tries to create a "" label. An empty label is now NULL.
Probably among other, this fixes the BSlider appearance without a label.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-02 18:15:52 +00:00
Axel Dörfler f2c54a03a6 * Made it look better when running under Haiku. Restricts the maximal font size to
12 points to make sure it'll look acceptable.
* Fixed direct window rendering by disabling moving the animation area around
  (would have to be changed in DirectConnected() as well).
* Refresh and density sliders now ResizeToPreferred().
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-02 18:14:38 +00:00
Axel Dörfler da9fb33109 Now only resizes the width if it's too small or B_ALIGN_LEFT is used - it now
resizes a bit more logically.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-02 17:07:36 +00:00
Axel Dörfler d14aab0dca Changed the way how CPU activity is monitored: instead of taking the active
time of the idle thread as a measure, we now compute the CPU activity on
each thread switch - the time the CPU worked is the total of user and kernel
time a thread spent during its quantum.
Unlike before, this mechanism works correctly on SMP machines. I hope this
works as expected :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-01 20:03:55 +00:00
Axel Dörfler df213cedbc * CPUs can now be disabled - that is, they will keep idling.
* Added syscalls _kern_set_cpu_enabled() and _kern_cpu_enabled().
* scheduler.c::sRunQueue::tail was not maintained at all; changed sRunQueue to
  be a simple thread pointer instead of a struct thread_queue.
* Turns out we're monitoring CPU activity incorrectly when we've got more
  than one CPU.
* Renamed the global CPU array from "cpu" to gCPU.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-01 16:09:05 +00:00
Axel Dörfler 4ccfb08661 * Fixed memory leak in CPUButton: the message runner was only deleted in the
destructor, but created everytime AttachedToWindow() was called.
* Minor cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-01 15:57:45 +00:00
Axel Dörfler a71c960755 * BControl::SetValue() now calls Invalidate() again - not doing so would
break compatibility a bit too much (as this is a public class).
* Instead, we're now using the same mechanism as in Dano/Zeta, that is,
  we use BControl::SetValueNoUpdate() in the inherited classes.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-01 15:55:46 +00:00
Axel Dörfler 2457c453c5 * Now calls get_current_cpuid() instead of get_cpuid() - that doesn't work on
SMP machines since we're already in a call_all_cpus() function (that also
  needs to run synchronously). MTRR does now work on SMP machines again; ie.
  SMP machines should boot fine again now.
* Fixed warning when compiled with tracing turned on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-01 12:39:20 +00:00
Axel Dörfler 99085d6771 Added an extra debug function that dumps all iframes in case the stack crawl
doesn't work correctly for some reason.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-01 12:35:10 +00:00
Axel Dörfler 562c5a27d9 Make sure the compiler knows what we want.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-01 12:34:03 +00:00
Axel Dörfler f1d806fe5d Fixed call_all_cpus(): it shouldn't call the function synchronously; inter-CPU
synchronization as done in init_mtrrs() failed because of that (let the system
hang).
Unfortunately, MTRR still doesn't work on my dual PIII with SMP enabled; that
was just one reason it didn't work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-31 18:30:34 +00:00
Axel Dörfler fd1528f275 Accidently broke selecting sub menus with the last commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-31 03:31:23 +00:00
Axel Dörfler 204131dc97 Added a real yield function to the kernel (using the next_priority approach).
The test application lets run a thread at the highest priority that calls
yield all the time - the system stays responsible when it runs, so it seems
to work fine :)
Changed the malloc implementation to use _kern_thread_yield() instead of
snoozing.
We should think about making this call public, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-31 02:29:02 +00:00
Axel Dörfler d14af9fde6 Introduced a next_priority field to struct thread that will be used when
enqueueing a thread to the run queue.
This mechanism is now used for the thread priority boost on semaphore
release. Also, those threads are no longer made real time threads, they
now get a temporary priority of B_FIRST_REAL_TIME_PRIORITY - 1.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-31 01:58:49 +00:00
Axel Dörfler 7e46f8319e snooze(5) works more or less fine for standard threads, but is a very bad
idea for real-time threads. They could completely hog the CPU in this
case. Thanks to Marcus for investigating!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-31 00:11:51 +00:00
Axel Dörfler ec549309c9 The menus work a bit less good now I think, but they no longer have 100% CPU usage
when the menu item under the mouse cursor has a sub-menu.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 23:40:05 +00:00
Axel Dörfler db63fe6713 Strangely enough, one of my R5 system's doesn't have a "cc".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 18:38:23 +00:00
Axel Dörfler 5d16441307 Now usually ignores the length of the data segment as well.
It now works fine on my P4 system as well :-)
But since the BIOS area is not identity mapped, it might work on fewer systems
than it does in BeOS R5.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 16:32:47 +00:00
Axel Dörfler afef4f3fff The syslog_daemon now ignores zero length messages, and the kernel's syslog
mechanism doesn't send them out any longer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 16:09:24 +00:00
Axel Dörfler bd610d2fcd * Added kernel settings for APM - defaults to disabled (since it doesn't work
on at least one of my systems, it only works on 3 of them...).
* Added APM safemode setting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 14:43:38 +00:00
Axel Dörfler c7023acdc6 * Fixed B_AVOID_FRONT support in the app_server.
* Menu windows now use the kMenuWindowFeel feel (but still need the B_AVOID_FOCUS
  flag set, as that's currently independent from the feel).
* Minor cleanup in MenuWindow.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 13:40:22 +00:00
Axel Dörfler 304636cc5e Implemented kMenuWindowFeel, not that much tested, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 11:50:02 +00:00
Axel Dörfler 8a1f6775b9 * You can now specify a thread when using the "unreal" debugger command.
* Added a thread priority column to the thread list.
* Added "realtime" command that lists all real-time threads.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-29 19:50:00 +00:00
Axel Dörfler 1ee28f024a Too more FreeBSD build fixes by Alexander Deynichenko.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-29 17:45:52 +00:00
Axel Dörfler c08ce938f3 Added way to enter the kernel debugger in case keyboard is disabled - couldn't
test it, though, as I couldn't reproduce the problem since then.
Fixed indentation in ps2_keyboard.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-29 15:53:37 +00:00
Axel Dörfler 5da68569d0 The APM now successfully shuts down my IBM ThinkPad T40. It's still disabled
for more testing on other machines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-29 15:51:33 +00:00
Axel Dörfler fd9772def6 Fixed build on BeOS: MimeType.h doesn't exist; we need to use Mime.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-29 14:25:27 +00:00
Axel Dörfler 036b999b54 Unbroke the build (ps2.h was suddenly missing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 18:48:50 +00:00
Axel Dörfler afd6dfc8b4 Implemented first basic APM driver. Only tested with QEMU so far, that's why
it's currently disabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 18:11:20 +00:00
Axel Dörfler 1bb74eb185 This fixes the work-around made in r16105, and some more:
* cached_block::parent_data can be NULL in a sub transaction in case the
  block wasn't part of the parent transaction (but not in low memory
  situations). cache_abort_sub_transaction() and cache_detach_sub_transaction()
  didn't account for this, though, ie. the block data could end up
  corrupted.
* Renamed cached_block::original in original_data.
* Renamed cached_block::data in current_data.
* Added some comments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-26 21:02:53 +00:00
Axel Dörfler c43a6c505a Moved _kern_shutdown() to the registrar's R5Compatiblity.cpp where it belongs.
(but maybe that file should be moved into libhaikucompat.a?)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-26 00:14:03 +00:00
Axel Dörfler 5da7839924 * _kern_remove_dir() didn't even compile... (test environment (of which
LibBeAdapter is a part of) isn't part of the build.
* Added _kern_shutdown() function, so that the registrar still compiles
  even though __HAIKU__ is now defined for the target libbe_test.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-26 00:04:44 +00:00
Axel Dörfler f9cf8b6073 Added __HAIKU__ for target libbe_test.
Fixed FreeBSD host platform define.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-25 23:55:14 +00:00
Axel Dörfler a268fbfe48 Added some hacks to get the boot loader to work on the Pegasos.
Doesn't come far yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-25 20:05:11 +00:00
Axel Dörfler 818feababe Fixed fputc() for the PPC platform (would only write null bytes due to
big endian).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-25 19:45:10 +00:00
Axel Dörfler 01e69aca05 Now shows the "Reboot" button after the actual shutdown attempt.
The invalidate work-around is no longer needed for the app_server.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-25 16:24:17 +00:00
Axel Dörfler 76c7d59103 Updated copyright message in the boot loader menu.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-25 16:12:48 +00:00
Axel Dörfler 924479179b Implemented on screen debug output during boot - to be enabled in the boot loader
safemode menu.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-25 16:12:10 +00:00
Axel Dörfler 46252218c3 Now adds the header to every line of the message received.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-25 14:49:03 +00:00
Axel Dörfler 979aeaf71c Fixed bug #97:
* BEntry::Remove() now uses _kern_remove_dir() for directories.
* Added fd parameter to _kern_remove_dir().
* Fixed LibBeAdapter's _kern_unlink() to only work on files, and
  added _kern_remove_dir() for directories.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-25 11:12:21 +00:00
Axel Dörfler 7f370a1f89 * Fixed settings evaluation.
* exchanged sBlueScreenEnabled and sBlueScreenOutput (so that they better
  match the sSerialDebugEnabled and sSyslogDebugEnabled variables).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-24 21:52:53 +00:00
Axel Dörfler ad4afa7409 Added unused ring_buffer_write_to_port() implementation - we might never use it,
but it shouldn't hurt to have it in SVN.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-24 21:50:41 +00:00
Axel Dörfler eb2fc29abd Implemented syslog support for the kernel debug output. Not fancy at all yet, but
it seems to be working fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-24 20:28:52 +00:00
Axel Dörfler 91845703f8 * "<TRUNC>" was added one byte too late, causing the stack to be overwritten.
* now makes sure the message string received is null terminated.
* made buffer size depending on the syslog defines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-24 20:25:38 +00:00
Axel Dörfler d97476d155 The userland stack trace no longer accesses the stack of the crashed application unsafe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-24 17:22:50 +00:00
Axel Dörfler 890d7226ed Added the "logger" command to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-24 16:33:34 +00:00
Axel Dörfler 789b0b7824 Applied patch from Alexander U. Deynichenko: $HOST_PLATFORM should change
HOST_DEFINES, not TARGET_DEFINES.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-24 16:31:27 +00:00
Axel Dörfler 3a0a764d47 Added the "logger" command line tool to send messages to syslog.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-24 16:28:45 +00:00
Axel Dörfler 05b4b0d7ce Node monitoring didn't work because unflattening KMessages didn't take the
message header into account. It worked before at some point as BLooper was
letting the looper handle messages to invalid targets - they are now just
dropped.
This fixes bug #93.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-23 13:30:17 +00:00
Axel Dörfler 627e4043a8 Improved debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-23 11:41:07 +00:00
Axel Dörfler 40d0203cdb Fixed bug #92.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-23 00:39:32 +00:00
Axel Dörfler 923e3aaf6f Fixed two crucial bugs:
* When aborting the first sub-transaction, BFS didn't recognize this
  correctly, and aborted it via cache_abort_transaction() instead of
  cache_abort_sub_transaction() - that not only reversed the whole
  transaction, but also let subsequent cache_start_sub_transaction()
  fail (as there was no transaction to continue anymore). Reported
  in a reproducible way by Jerome Duval.
* Haiku didn't want to replay logs anymore - the off-by-one fix I did
  in r14428 was not complete, it only let Be's BFS replay our logs,
  but our's rejected them afterwards.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-21 13:35:08 +00:00
Axel Dörfler 4af3d066e1 Better debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-21 13:29:11 +00:00
Axel Dörfler a91b2ce415 Fixed build (at least with GCC4) - exit() is declared in stdlib.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-20 19:54:59 +00:00
Axel Dörfler e9e5c69a25 * Use _FindView() where possible instead of using BTokenSpace::GetToken() directly.
* Fixed some issues in _UnpackMessage():
  - The focus view could have been removed before its turn which was ignored
    (and could led to a crash, for example when moving the Deskbar around).
    It's now tested if it's still valid (can't use _FindView() here, as the
    the preferred handler of a window could be any BHandler).
  - fLastMouseMovedView could have been NULL in which case there is no
    need to let the message be processed (was harmless, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-20 13:27:11 +00:00
Axel Dörfler 915af8b17a Imported ExpandoMenuBar 1.16 and TeamMenu.cpp 1.5 from the OpenTracker repository:
* fixes for the Deskbar running without any other apps.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-20 11:55:24 +00:00
Axel Dörfler 4ea667a0b0 Fixed possible crashing bug for B_NO_POINTER_HISTORY views.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-17 16:14:53 +00:00
Axel Dörfler 465b54cd65 Fixed crashing bug in the test environment on quit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-17 16:14:13 +00:00
Axel Dörfler 5fb1a4102a Added tool "fdinfo" to inspect file descriptors of other teams.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-17 01:47:05 +00:00
Axel Dörfler 7817211a38 Allow only root to look at other team's file descriptors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-17 01:44:18 +00:00
Axel Dörfler 0e382a4667 Implemented a syscall to get information about the open file descriptors of all teams.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-17 01:29:18 +00:00
Axel Dörfler 9a96efa92a Fixed build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-16 14:43:50 +00:00
Axel Dörfler ddb7d0b6a6 Implemented force unmounting - by passing the "-f" option to "unmount" you
can now safely unmount volumes that are still in use by some applications.
Minor fixes to the FD disconnection implementation:
* put_fd() checked the condition for being able to disconnect a descriptor
  incorrectly (causing the FD to never be disconnected).
* remove_fd() would hand out disconnected descriptors (but should have
  returned NULL for them).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-15 19:26:42 +00:00
Axel Dörfler 60e5ea42e0 Quick fix for a crashing bug I just introduced.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-15 18:30:07 +00:00
Axel Dörfler 128165101a Implemented disconnecting file descriptors: this will be used by the
force unmounting code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15949 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-15 17:11:48 +00:00
Axel Dörfler 118828e772 shutdown now defaults to returning to the caller (ie. runs asynchronously), as it
does in BeOS.
If you want it to wait until the shutdown process fails (or the system is actually
shut down), use the new "-s" option.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-11 23:17:40 +00:00
Axel Dörfler 0248f7e099 Fixed typo: asynchronous shutdown is now working (ie. Deskbar doesn't block
the shutdown process any longer).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-11 23:15:49 +00:00
Axel Dörfler 238ba7d321 The last change accidently put messages to invalid targets back into the game.
_DetermineTarget() is no longer called for these messages, "handler" will stay
NULL and the message will be dropped.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-11 22:38:43 +00:00
Axel Dörfler 54354618d5 BWindow::_DetermineTarget() now defaults to the window, instead of no target at
all in case the window doesn't have a current focus view.
That allows shortcuts like Command+q/w to work again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-11 22:30:41 +00:00
Axel Dörfler 81202ff522 Imported DialogPane.cpp 1.3 from the OT repository: shouldn't crash anymore
under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-11 20:16:28 +00:00
Axel Dörfler 67c3d9ebe5 Fixed building of the UHCI and OHCI modules [reported by AndyBe].
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-11 20:04:40 +00:00
Axel Dörfler 92b292f540 Implemented B_NO_POINTER_HISTORY. Window moving/resizing uses this mechanism
as well now, and makes quite a difference in Qemu.
Not tested for standard BViews, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-11 12:25:06 +00:00
Axel Dörfler 40be0d5583 Quick fix to make the Qemu experience less bad :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-10 23:18:36 +00:00
Axel Dörfler ba61df6d0b Beginnings of APM support: we now connect to the APM BIOS in 32 bit protected mode.
We don't do anything with it yet, though, so the BIOS will probably ignore us since
we are supposed to poll for events.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-10 22:54:36 +00:00
Axel Dörfler 5143d99bb0 Removed timeout in the EventDispatcher, clarified TODO about the message queue
of messages that failed to be sent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-10 20:47:16 +00:00
Axel Dörfler 5cd809aaab _kern_get_next_{sem|port}_info() had a wrong argument type for the
cookie (uint32* instead of int32*).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-08 15:34:09 +00:00
Axel Dörfler 1397187532 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-08 13:59:37 +00:00
Axel Dörfler 5ce1a7a509 Fixed (superfluous) GCC4 warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-08 13:59:19 +00:00
Axel Dörfler 8a74d5f103 Imported r15693 to the R5 version of BFS: fixed endian issues.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-08 13:55:56 +00:00
Axel Dörfler 1956c146ea bfs_shell now also builds under Linux/PPC, not tested yet, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-08 13:19:12 +00:00
Axel Dörfler f7ba8efac9 Fixed GCC4 warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-08 13:09:31 +00:00
Axel Dörfler ea34f0f03b If there was a BMenuItem view with shortcut, it tried to delete the shortcut twice
(as the shortcut list wasn't emptied), courtesy of Stippi.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-08 13:05:33 +00:00
Axel Dörfler 8c7229ddbe Fixed some GCC4 only warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-08 12:39:06 +00:00
Axel Dörfler 23ae1e249f Added drag&drop support, some cleanup - courtesy of stippi.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-06 11:49:06 +00:00