Commit Graph

30598 Commits

Author SHA1 Message Date
Ingo Weinhold 4199b36807 Patch by Bryce Groff: Correctly notify the user when committing the
modifications for deleting a partition failed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 19:02:51 +00:00
Ingo Weinhold 1d099cad03 Patch by Bryce Groff: Allow passing an ID of any partition contained in the
disk device to the locking functions, not only the ID of the disk device
itself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 19:01:20 +00:00
Ingo Weinhold 5e243bb30e Patch by Bryce Groff: Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 18:58:21 +00:00
Jonas Sundström 2680698b6d Have the application do a single BAlert on a BApplication::QuitRequested()-event in multi-window situations. Move reading/writing of settings from window to application. Cascade-offset the most recent window when they collide.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 18:17:14 +00:00
François Revol 358e3e4e8b C89, should fix gcc2 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 18:10:45 +00:00
Oliver Tappe 9fe394010b small cleanup in ListView:
* avoid setting fAnchorIndex multiple times in certain situations

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 17:59:04 +00:00
François Revol 17a815e0ad Add pc_serial to the build. No, it's not yet usable in Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 17:30:18 +00:00
Stefano Ceccherini 36325c7fe5 Gcc4 fixes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 16:53:04 +00:00
Stefano Ceccherini 3bd4966700 Now also hide/show the cursor when BDirectWindow::SetFullScreen() is called.
in the handler, instead of checking if the window is an offscreen one,
check if fDirectWindowData is NULL, and do nothing if it's the case.
When setting a clip region in ServerPicture, also invalidate the clipping.
To do so, I added a public ServerWindoow::UpdateCurrentDrawingRegion()
which just calls the private function. Please review and see if it can
be done better. This fixes the problem with BPicture and the 
ConstrainClippingRegion() op (see ticket #1389)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 16:50:01 +00:00
François Revol d594d16e24 Allow getting other safe mode settings than the default one, from command line.
Added a -s option to get the string value of the setting directly instead of interpreting it as bool.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 16:25:41 +00:00
François Revol d25503d3db Fix Haiku build. WTF rename those anyway ???
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 16:16:45 +00:00
Axel Dörfler 0bd0875d59 * Build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 16:08:36 +00:00
François Revol 9f981a889b Fix a warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 16:03:03 +00:00
Axel Dörfler af8f9c3135 * Added a tool tip for the monitor's capabilities.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 15:21:24 +00:00
François Revol 696e647c0f Implemented getting bootargs from OF. Untested.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 15:12:24 +00:00
Axel Dörfler b9ee6b3700 * Changed text so that it's obvious those are supposed to be sticky.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 14:54:22 +00:00
Axel Dörfler 8318af01b9 * Added a basic tool tip API, and implementation.
* The BView API can probably be regarded as good enough; the implementation
  might need to be improved over time (also, some things as archivability
  aren't fully implemented yet). The ToolTip.h header should get public once
  finalized.
* Added new B_MOUSE_IDLE message that is sent to a BView after a certain
  time has passed (BToolTipManager::ShowDelay()).
* Added small test app (ToolTipTest) that shows what is already working.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 14:47:41 +00:00
Axel Dörfler 360495a3bf * Only use the new preferred computation method if word wrap is disabled, or
else this won't work as is (this is something that could be done, better,
  though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 14:41:27 +00:00
François Revol 56c6c0fefb - introduced an "argumetns" field in stage2_args to hold command line args from chaining loader,
- added some multiboot support code:
	- dump some of the passed info,
	- parse command line (skip the 'kernel' name and pass the rest to stage2_args.arguments),
- added an add_stage2_driver_settings() function which takes stage2_args.arguments and translates it into safe mode driver settings, a bit dumb for now.
This allows using qemu -kernel haiku_loader -append 'debug_screen true' and get debug output without having to enter the menu (once multiboot info is used to determine the boot device too).
The idea is to allow passing driver settings and using them to pass extra stuff (like 'force_keymap fr' and other stuff for demo), and to help automate tests ('run_test /bin/sometest').
This should answer Axel's question :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 14:39:41 +00:00
Axel Dörfler 0b1db200df * The preferred size is now actually the preferred size - the size that is
needed to show all of the text view's contents. No idea what the previous
  solution was about.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 14:35:27 +00:00
Michael Lotz 255c9104e5 * Rework the heap locking strategy. Use a read-write lock for the area lock to
allow for more parallelism. Also introduce seperate locks for the bins and
  for page allocation. This greatly reduces lock contention and reduces the
  duration the locks are held due to them overall protecting less code. Now only
  allocations of the same size hitting the same allocator or allocating larger
  chunks of memory should block. Previously, basically any allocation and also
  free would be mutually exclusive, making it scale pretty badely.
* Added memalign_nogrow(). As it uses heap_memalign() anyway, there's no real
  reason not to allow for an alignment.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 13:59:45 +00:00
Ingo Weinhold ea2abd110b * Renamed the ROUNDOWN macro to ROUNDDOWN. Also changed the implementation of
ROUNDUP to use '*' and '/' -- the compiler will optimize that for powers of
  two anyway and this implementation works for other numbers as well.
* The thread::fault_handler use in C[++] code was broken with gcc 4. At least
  when other functions were invoked. Trying to trick the compiler wasn't a
  particularly good idea anyway, since the next compiler version could break
  the trick again. So the general policy is to use the fault handlers only in
  assembly code where we have full control. Changed that for x86 (save for the
  vm86 mode, which has a similar mechanism), but not for the other
  architectures.
* Introduced fault_handler, fault_handler_stack_pointer, and fault_jump_buffer
  fields in the cpu_ent structure, which must be used instead of
  thread::fault_handler in the kernel debugger. Consequently user_memcpy() must
  not be used in the kernel debugger either. Introduced a debug_memcpy()
  instead.
* Introduced debug_call_with_fault_handler() function which calls a function
  in a setjmp() and fault handler context. The architecture specific backend
  arch_debug_call_with_fault_handler() has only been implemented for x86 yet.
* Introduced debug_is_kernel_memory_accessible() for use in the kernel
  debugger. It determines whether a range of memory can be accessed in the
  way specified. The architecture specific back end
  arch_vm_translation_map_is_kernel_page_accessible() has only been implemented
  for x86 yet.
* Added arch_debug_unset_current_thread() (only implemented for x86) to unset
  the current thread pointer in the kernel debugger. When entering the kernel
  debugger we do some basic sanity checks of the currently set thread structure
  and unset it, if they fail. This allows certain commands (most importantly
  the stack trace command) to avoid accessing the thread structure.
* x86: When handling a double fault, we do now install a special handler for
  page faults. This allows us to gracefully catch faulting commands, even if
  e.g. the thread structure is toast.

We are now in much better shape to deal with double faults. Hopefully avoiding
the triple faults that some people have been experiencing on their hardware
and ideally even allowing to use the kernel debugger normally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 12:39:56 +00:00
Ingo Weinhold 16357dea6b Don't lock when the debugger is running.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 11:54:25 +00:00
Ingo Weinhold 885b7b4a85 Removed unsupported architectures.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 11:32:08 +00:00
Alexandre Deckner 3d65021d98 * Style fixes
* Moved the wait_for_thread in _StopRenderThread()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 10:55:13 +00:00
Stephan Aßmus 1c992a5285 Fixed GCC4 build and added handling of allocation failures in
some places.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 10:33:52 +00:00
François Revol 4b8d0e6856 Some ppc fixes for #4115, patch by kallisti5 (without the #ifdef _BOOT_MODE):
- stubbed out arch_cpu_init_percpu(),
- make atomic ops declarations extern "C",
- move calls to [i]sync inside the asm code that needs it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 10:10:22 +00:00
Axel Dörfler b25988572f * Fixed style.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 10:04:43 +00:00
Stephan Aßmus 082caf3919 Added MediaConverter to the build. It still needs a nice new icon though...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 09:56:17 +00:00
Stephan Aßmus 3ca4a7b1be Implemented audio track encoding. There is something wrong with the PTS
generation for the packets and how I set the time_base in the AVStream and
AVStream->codec structures. This results in the audio streams of the written
files to report a much too long duration.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 09:35:30 +00:00
Rene Gollent 33dda791af Fix several incorrect gcc4 and/or hybrid build checks. Closes ticket #4036.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 17:10:34 +00:00
Stefano Ceccherini 4695f67019 Completed the server part of BDirectWindow::SetFullScreen(). The window is
now resized and moved correctly. Moved this functionality to its own method.
Should fix bug #4168.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 15:57:22 +00:00
Rene Gollent 70392894d9 Added LibIconv as dep for Firefox. Fixes ticket #4169.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 15:43:54 +00:00
François Revol 91517f4f12 Minimal definition of the MultiBoot Info struct, should be enough for now.
We use official names for defines & struct members.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 12:32:18 +00:00
François Revol a9c45a68ef Add MultiBoot support.
Based on a patch from Dustin Howett, reworked, and help from Vladimir 'phcoder' Serbinenko.
- used defines for clarity, the rest of teh code could make use of them too...
- added a gMultiBootInfo pointer to the passed args, to let C code handle it instead of faking the boot drive ID,
- conditionalized the copy back, maybe we can get rid of it when QEMU handles our default load address correctly,
- added video mode info to ask for 1024x768 but QEMU ignores it anyway, and we might need to show the menu, so it's disabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 12:03:22 +00:00
Philippe Houdoin 86ee03ec73 Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 11:03:15 +00:00
Stefano Ceccherini 4bc68ed5c2 Fixed build with gcc4
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 09:39:46 +00:00
Stefano Ceccherini dcc8ae9118 Some cleanups: made the bitmaps static, moved variables around. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 08:14:18 +00:00
Rene Gollent 90d0584d89 Added vendor ID for Gateway. Thanks Urias!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 04:33:38 +00:00
Rene Gollent 447c2a84b9 Add some more vendor IDs gleaned from some of my monitors here, Urias and one of linux's EDID quirks files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 04:21:50 +00:00
Rene Gollent 51ab53a6ac Fix some regressions in keyboard shift selection behavior introduced by the last set of changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 04:20:56 +00:00
Stephan Aßmus 1e3ef6135f Quiet down some debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 01:59:34 +00:00
Stephan Aßmus 0ed248f69d This should transfer the display aspect ratio correctly...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 01:54:48 +00:00
Ingo Weinhold 671a2442d9 More work towards making our double fault handler less triple fault prone:
* SMP:
  - Added smp_send_broadcast_ici_interrupts_disabled(), which is basically
    equivalent to smp_send_broadcast_ici(), but is only called with interrupts
    disabled and gets the CPU index, so it doesn't have to use
    smp_get_current_cpu() (which dereferences the current thread).
  - Added cpu index parameter to smp_intercpu_int_handler().
* x86:
  - arch_int.c -> arch_int.cpp
  - Set up an IDT per CPU. We were using a single IDT for all CPUs, but that
    can't work, since we need different tasks for the double fault interrupt
    vector.
  - Set the per CPU double fault task gates correctly.
  - Renamed set_intr_gate() to set_interrupt_gate and set_system_gate() to
    set_trap_gate() and documented them a bit.
  - Renamed double_fault_exception() x86_double_fault_exception() and fixed
    it not to use smp_get_current_cpu(). Instead we have the new
    x86_double_fault_get_cpu() that deducts the CPU index from the used stack.
  - Fixed the double_fault interrupt handler: It no longer calls int_bottom to
    avoid accessing the current thread.
* debug.cpp:
  - Introduced explicit debug_double_fault() to enter the kernel debugger from
    a double fault handler.
  - Avoid using smp_get_current_cpu().
  - Don't use kprintf() before sDebuggerOnCPU is set. Otherwise
    acquire_spinlock() is invoked by arch_debug_serial_puts().

Things look a bit better when the current thread pointer is broken -- we run
into kernel_debugger_loop() and successfully print the "Welcome to KDL"
message -- but we still dereference the thread pointer afterwards, so that we
don't get a usable kernel debugger yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 01:53:54 +00:00
Axel Dörfler c9d653c1de * Added many many more vendors, thanks to Brecht for digging up a nice web
resource that I couldn't find! Also thanks to Jonas and Urias :-)
* Header cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 01:47:40 +00:00
Axel Dörfler 70a2b1b51b * Made the refresh slider/menu take the monitor's capabilities into account.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 01:46:53 +00:00
Rene Gollent 6e58de0288 Implement double click / triple click drag selection as in Pe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 01:40:11 +00:00
Stephan Aßmus ae8e567a34 * Auto white-space cleanup.
* Do not override pixel aspect unnecessarily.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 01:33:38 +00:00
Stephan Aßmus 60b6f36881 Fix compilation and small cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 01:33:01 +00:00
Ingo Weinhold 1af695be01 Automatic whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 01:18:39 +00:00