Commit Graph

5318 Commits

Author SHA1 Message Date
François Revol
98977abc9b Fix m68k build, still unimplemented.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 21:17:03 +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
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
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
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
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
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
Stephan Aßmus
54897d5c06 * Also pass the media_codec_info to the Writer::AllocateCookie(), since that
info is not part of the media_format otherwise.
* Finished enough in the AVFormatWriter and AVCodecEncoder that we can now
  actually create AVIs and MPGs and encode MPEG1, MPEG2 and MPEG4 video.
  But no audio as of yet. Also, there is no bit-rate/quality setup, so it seems
  libavformat is using the least possible bit-rate/quality.
* Enable some more muxers and encoders in the FFmpeg libs.
* Uses pixel format conversion from libswsscale, need to read the documentation
  again, but I think it makes the plugin GPL.
* Fixed includes in libswscale/swscale.h, this is now an unmodified FFmpeg 0.5
  header again (AFAICT).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 01:16:12 +00:00
Michael Lotz
d7a16b238f * Fully switch to the Haiku message format so that it is also used for on-disk
storage.
* Remove reduntant information from the header (field_count vs. fields_size).
* Remove checksums previously used to validate the message passing by area
  mechanism.
* Move variables that are purely used by the instance out of the header and into
  the BMessage object.
* Use more sensible types for the different message fields.
* Reduce some field sizes to realistic values.
* Make size_t values into uint32 values so the message format will not change
  when later moving to 64 bits.
* Pack the structures used for flat message storage so it doesn't change
  because of padding.
* Fix message passing by area. It never worked because the created area was
  never actually filled with any data!
* Some more allocation checks with graceful fallbacks (should be all now).
* Some more checks for negative index values (should also be all now).
* Make printing more inline with how the rest of the class works and make some
  of the output more consistent.
* Also add the new unsigned types to PrintToStream() output.
* Fix printing of unknown types and invalid BMessages, it would always have
  printed only the first entry respectively the same error.
* Added some clarifying comments.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 22:19:36 +00:00
Rene Gollent
2252911973 Add missing definition for wcsstr. This was preventing clucene from building with wide chars enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 22:16:58 +00:00
Axel Dörfler
e90b90daf6 * Added desperately missing Trim() method.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 21:13:19 +00:00
Ingo Weinhold
cc77aba101 * Allocate a separate double fault stack for each CPU.
* Added x86_double_fault_get_cpu(), a save way to get the CPU index when in
  the double fault handler. smp_get_current_cpu() requires at least a somewhat
  intact thread structure, so we rather want to avoid it when handling a double
  fault. There are a lot more of those dependencies in the KDL entry code.
  Working on it...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 16:14:18 +00:00
Stephan Aßmus
4384acf6c1 * Tweaked the Writer API. Basically, we need an Init() method that takes the
media_file_format as input, so that the Writer knows what kind of file is
  needed.
* Also, since information about the stream format is going to be needed at the
  Writer level as well, the AllocateCookie() method gets the stream
  media_format.
* Fleshed out some aspects of AVFormatWriter, many TODOs are left.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 15:29:08 +00:00
Axel Dörfler
61b6f38cfc * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 14:11:12 +00:00
Stephan Aßmus
fa770e4c84 * Writer::WriteChunk() takes media_encode_info* instead of flags.
* Improved Encoder API towards what we need for the get_next_encoder() variants
  and the BMediaTrack API.
* Implemented the rest of MediaWriter. Still undecided what to make of
  AddTrackInfo(). BMediaEncoder has that as well, which hints that this is
  something the Encoder needs to support. But it could also be that this is
  only possible to support in Writer.
* Wired a lot of previously unimplemented methods in BMediaFile and BMediaTrack
  needed for write support. If I have not overlooked anything, only the
  parameter stuff is still unimplemented now.

This is all untested, since the FFMpeg Encoder and Writer are still only stubs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 10:46:58 +00:00
Stephan Aßmus
6033e52a83 Implemented support for get_next_encoder() variations from MediaFormats.h.
The AddOnManager in the media_server registers one encoder entry per
successful EncoderPlugin::RegisterNextEncoder(). This gives us a first idea
what media_format_family and input/output media_type is supported. The
mechanism may have to be extended, or the Encoder needs an API to specialize
a format further. In that case, the get_next_encoder() version that takes
optional _acceptedInput/OutputFormat needs to instantiate the plugin and
needs to ask the Encoder. But AFAIK, no app uses it like that anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 00:46:36 +00:00
Stephan Aßmus
377e95304a * This header couldn't actually be used from C code, since C doesn't support
overloading functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 22:10:11 +00:00
Stephan Aßmus
7cd2513b82 Changed the way Encoders are published by EncoderPlugins. Encoder retrieval
in PluginManager is reenabled. We use the media_codec_info.id to reference
a specific plugin, while the sub_id will be used to reference individual
Encoders that the plugin supports. No idea if that's how it was intented, but
some comments hint in this direction. I failed to mention this before, but
comments are of course very welcome on any of these commits, as always.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 20:05:11 +00:00
Ingo Weinhold
3fccf0679f C++ified the code. Introduced new trace entry flags, which will eventually be
used to mark entries after recovering a tracing log from a previous session.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 19:50:50 +00:00
Stephan Aßmus
a07b059b16 Implemented first version of MediaWriter, which is the bridge between
BMediaFile/BMediaTrack and Writer plugins.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 17:56:01 +00:00
Stephan Aßmus
c98ea33596 Let's call it WriteChunk() instead of WriteNextChunk() and make the signature
consistent everywhere (according to BMediaTracker::WriteChunk()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 17:54:03 +00:00
Stephan Aßmus
efd1469d4f Encoders will most likely be found by media_codec_info, not by media_format,
changed method signature accordingly and disabled the code for now, since
the media_server communication has not been adapted yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 17:52:14 +00:00
Stephan Aßmus
b8316d9f93 Cleanup and preparations for BPrivate::media::MediaWriter, which will soon
exist.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 17:47:54 +00:00
Stefano Ceccherini
c2c39a98a2 Moved functions declarations to InterfacePrivate.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 16:46:19 +00:00
Stephan Aßmus
ee9408a18d Re-wrote MediaFormats.h header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 16:34:06 +00:00
Axel Dörfler
753365b433 * Added new (private) calls {get|set}_workspaces_layout().
* Implemented old count_workspaces(), and set_workspace_count() using the
  new functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 14:13:14 +00:00
Ingo Weinhold
07745f2a0b Added support for new notify_io_request() function.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 14:12:47 +00:00
Axel Dörfler
617ebd8897 * Added convenience methods to add BTextControls and BMenuFields to a grid
layout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 14:03:48 +00:00
Ingo Weinhold
213d2d8f9d Added syscall _kern_kernel_debugger() to enter the kernel debugger.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 12:35:42 +00:00
Stefano Ceccherini
7a8567e61d Moved MenuPrivate implementation to its own file. Made MenuPrivate.h
self-contained. Adjusted other files accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 10:41:33 +00:00
Stefano Ceccherini
c3d7cee2d9 Instead of creating the Modifiers bitmaps on demand, for every DrawItem invocation,
for every BMenuItem, have them created in _init_interface_kit(), and keep
them cached. This required some reorganisation of the code in Menu and MenuItem.
Also has the side effect that BMenuItem doesn't have to know about the
alt/ctrl/command keys stuff.
Added a comment in BMenu::AttachedToWindow().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 10:33:46 +00:00
Ingo Weinhold
cdcacd7f9f * Added missing ToReferenceable().
* _SetTo(const BVariant&): Acquire a reference for the wrong object.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 02:34:41 +00:00
Axel Dörfler
69f9a367bc * The app_server no longer uses workspace counts internally, but only columns,
and rows.
* set_workspace_count() now uses the logic formerly found in
  WorkspacesView::_GetGrid() to determine the layout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 00:52:21 +00:00
Stephan Aßmus
60c85abee5 Resolved TODO, make it clear who maintains the allocation of the
media_file_format array (it remains with the plugin itself, as with
DecoderPlugins).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 00:11:02 +00:00
Stephan Aßmus
7c06546a8e Implement the backend of get_next_file_format(). The AddOnManager maintains
a list for known media_file_formats. The internal IDs map to plugins.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 22:49:23 +00:00
Ingo Weinhold
d3b44ccb14 Added explicit physical address parameter to vm_create_anonymous_area() and
create_area_etc(). 0 for the default behavior.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 21:30:35 +00:00
Oliver Tappe
31a41b605d Fixing #3460:
* resolved a couple of redundant function declaration in our public headers
* adjusted zipomatic accordingly - everything else built fine

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 19:45:09 +00:00
Stephan Aßmus
c30ef79def Small cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 19:11:50 +00:00
Stephan Aßmus
92d809b687 Added interface to WriterPlugin to get all supported media_format_families.
Don't yet know if that's the way it's supposed to work...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 19:11:32 +00:00
Ingo Weinhold
069b477dd7 * Introduced CREATE_AREA_DONT_CLEAR create_area_etc() flag, which allows the
call to fetch non-clear pages.
* B_PHYSICAL_BASE_ADDRESS does now imply B_CONTIGUOUS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 18:57:21 +00:00
Oliver Tappe
a64a5357f2 * added missing declarations of all the scanf() variants, as we now provide
those, too. Among other things, this should facilitate making use of wstring
  with gcc4.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 17:41:10 +00:00
Oliver Tappe
51c5e9f685 fixing #4031:
* added declaration of strtof() to stdlib.h, as we now provide it alongside
  with strtod()

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 17:33:30 +00:00
Stephan Aßmus
57bb0b9fcd * Added DataExchange message constants and server communication structs for
retrieving WriterPlugins and EncoderPlugins from the media_addon_server.
* Enabled respective code in PluginManager (and fixed the copy&paste bugs),
  the server side is still missing, though...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 16:35:37 +00:00
Stephan Aßmus
f3d79634e6 Beginnings of Encoder[Plugin] and Writer[Plugin] base classes and add-on
management.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 16:25:30 +00:00
Stephan Aßmus
3575ad0034 Small style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 16:24:00 +00:00
Stephan Aßmus
9d72a129c6 * Cleanup
* Added copyright.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 16:01:28 +00:00
Stephan Aßmus
ddcf2f7a64 Removed unused headers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 15:54:56 +00:00
Stephan Aßmus
b1e235937a * Style cleanup.
* Added copyright.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 15:54:12 +00:00
Axel Dörfler
0d22b1a78c * Fixed copyright years, thanks Urias!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 14:14:08 +00:00
Rene Gollent
9fba8251e9 Since wchar support now works, the wstring typedef should now also be safe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 14:09:43 +00:00
Axel Dörfler
533cba7eff bonefish + axeld:
* Reverted r31809 as it introduced a race condition; if the I/O request had been
  notified, it could already been deleted at that point.
* Instead, we need to notify the request in each file system/driver that uses
  it. Added new notify_io_request() function that does that exactly.
* Added a TODO comment to the userlandfs where the request notification needs
  a bit more thought.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 12:16:15 +00:00
Axel Dörfler
c881516f65 * Accidently committed the wrong bash history line... these are the files that
were supposed to be deleted/changed with the previous commit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 01:31:19 +00:00
Axel Dörfler
d37f15ebee * Updated license header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 00:57:41 +00:00
Axel Dörfler
8ae594ffd4 * Introduced dedicated syscalls for the deprecated BeOS fs_attr API. Before,
each attribute access needed 3 syscalls, now only one as it should.
* Renamed the new Haiku call fs_open_attr() to fs_fopen_attr(), and added a new
  function fs_open_attr() that takes a path (same semantics as the
  fs_[f]open_attr_dir() functions already present in BeOS).
* Merged former _kern_open_attr(), and _kern_create_attr() into one syscall.
* Cleaned up vfs.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 00:34:44 +00:00
Ingo Weinhold
86e89f1207 Added BDebugEventInputStream::Seek() to seek in the stream. Works for data
buffer based stream only ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-28 18:51:38 +00:00
Stefano Ceccherini
8752f52d71 Added an (empty) destructor. Use a const BRegion (since we can now), honour
the 80 column limit. Some comment clarification.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-28 16:56:29 +00:00
Stephan Aßmus
20f7be247e Actually, make B_PLAIN_BORDER look the default for simple separator lines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-28 15:48:51 +00:00
Stephan Aßmus
79f2db07a8 Implemented a BSeparatorView. It can be a horizontal or vertical line/border,
or also a label, optionally with a BView for the label. Some aspects of it have
not been exposed to throughrough testing, yet (archiving, label view),
the BAlignment support is also not well tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-28 14:15:55 +00:00
Stefano Ceccherini
2e6adc56e4 Added a _BPictureExtent_::Flatten(), moved some code from BPicture::Flatten()
into it. Renamed ImportData() to Unflatten(). Some code shuffling.
No functional change.
Some style cleanup needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-28 12:33:47 +00:00
Axel Dörfler
47d9ed62d3 * Added AS_GET_WORKSPACE_LAYOUT to get the number of columns/rows of the
workspaces.
* Added shortcuts Ctrl-Alt-{Left|Right|Up|Down} to switch to adjacent
  workspaces.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 17:22:11 +00:00
François Revol
bb1325a30e [GSoC] [ARM] Patch by Johannes Wischert.
Placeholder private headers for the kernel and libroot.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 16:23:08 +00:00
Stephan Aßmus
5147963dcd headers/private/kernel/util/OpenHashTable.h, Hugo's version, is a bit nicer than
Tracker's OpenHashTable.h which it should eventually replace. We've renamed the
class to BOpenHashTable and changed the interface slightly so that HashTableLink
became superfluous.
Adapted all the code that used it. Since the OpenHashTables no longer clash,
this should fix the GCC4 build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 00:39:12 +00:00
Michael Lotz
8e1857f795 * Completely rework the USB HID driver to make use of the HID framework
introduced earlier.
* Reworked the previous device classes to make them ProtocolHandlers handling
  their respective input_server <-> driver protocol.
* Implement setting report item data and building/sending reports based on that.
* Remove the old HID parsing code.

This enables us to use all HID devices as we now parse and use the HID
descriptors/reports. Non-boot-porotocol devices should therefore work.

The next step will be to implement a generic input/output framework in userland
that can communicate with a generic protocol handler in usb_hid. This will then
enable applications to make use of all the non-mapped HID stuff directly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 00:35:21 +00:00
Stephan Aßmus
e343673a0b * The app_server implements modifiers for performing decorator actions anywhere
inside the window. These are Command + Alt. In X11, it's just Alt, but that
  is already used in various Haiku/BeOS apps.
* Introduced new window flag B_NO_SERVER_SIDE_WINDOW_MODIFIERS to disable the
  above.
* Made click to front in FFM mode less strict, you can slightly move the mouse
  now and still click windows to front.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 20:45:04 +00:00
Axel Dörfler
f75b8de3fc * Discarded the "parametersSize" parameter from various disk device manager
functions.
* Since we now use UserStringParameter, this fixes the missing null termination
  of the parameter string, and thus bug #4045.
* Removed UserMemoryParameter, as it's no longer in use.
* Adjusted syscalls accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 17:27:27 +00:00
Axel Dörfler
6ef35ef770 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 17:23:59 +00:00
Ingo Weinhold
64ccb6b58a Synced the different definitions of BUFSIZ with the internal one. What a mess...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 15:28:33 +00:00
Axel Dörfler
63c07622f6 * Some style cleanups, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 11:25:14 +00:00
Stefano Ceccherini
ab53bb2086 Export get_bytes_per_row() from InterfacePrivate.h, and use it in ServerBitmap
in place of the own rolled implementation. Comment typo fix.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 07:59:16 +00:00
Ingo Weinhold
d8c41ef38f Added support for containing BReferenceables of arbitrary actual type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-25 00:20:53 +00:00
Ingo Weinhold
6feb776265 Alias Referenceable as BReferenceable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-25 00:20:06 +00:00
Axel Dörfler
b8e5a675e5 * Implemented missing date parsing; queries like "last_modified > %-5 minutes%"
are now working as they should.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-23 10:05:20 +00:00
Axel Dörfler
8315ac2417 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-23 09:45:54 +00:00
Axel Dörfler
bdee97bc3a * Applied slightly changed patch by Alexander von Gluck.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-23 08:22:01 +00:00
François Revol
77777c5389 Of course, using warnings as placeholders for code to write works fine until it's included when building an arch with -Werror...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-22 18:14:32 +00:00
François Revol
ff84453736 [GSoC] [ARM] Patch by Johannes Wischert.
Add dummy args structs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-22 18:10:06 +00:00
François Revol
735be9db97 [GSoC] [ARM] Patch by Johannes Wischert.
Include ARM struct.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-22 18:04:35 +00:00
François Revol
8666a725ac [GSoC] [ARM] Patch by Johannes Wischert.
Add ARM header for debugger.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-22 18:03:42 +00:00
François Revol
9463ff4cb7 [GSoC] [ARM] Patch by Johannes Wischert.
Add ARM defines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-22 17:19:02 +00:00
Ingo Weinhold
0b11ecb18c * Always include the public arch_debugger.h headers. The structures defined
there are prefixed with the respective architecture name. Useful for remote
  debugging a different architecture.
* <x86/arch_debugger.h>: Introduced a structure for the FPU state, so that it
  isn't left to the debugger.
* Removed the _kern_get_thread_cpu_state() syscall. Was originally intended for
  bdb compatiblity, but isn't really needed.
* Kernel x86 arch_get_debug_cpu_state(): The use of fnsave was broken, since
  it reinits the FPU after saving the state. This resulted in weird results
  when debugging functions using the FPU. We now use fxsave, if available.
  Otherwise fnsave + frstor should be used -- not fully implemented yet.
  Same for arch_set_debug_cpu_state().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-21 22:18:39 +00:00
Axel Dörfler
13aa1795dd * It seems we always have to specify all flags to make it work; removed "flags"
parameter from start_system_profiler().
* Added stack depth, and interval parameters to it, though.
* Profiling the boot process is now possible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-21 12:09:15 +00:00
Axel Dörfler
f74fedd9ba * Made header self-contained.
* Added missing license.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-21 09:24:07 +00:00
Ingo Weinhold
1746066cde * Made _Allocate() static.
* Moved the private inline methods up in the source file, so they can actually
  be inlined.
* UnlockBuffer(): Removed superfluous "if". Maybe the one who wrote it can have
  a look and check whether something else was intended originally.
* _MakeWritable() (both versions): Removed the superfluous ref count increment
  and the matching decrements.
* _Resize(): Fixed ref count ASSERT. It would always be triggered when called
  from UnlockBuffer(), since the ref count is -1 in that case.
* Clarified some comments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-21 00:04:46 +00:00
Axel Dörfler
c755ecfe96 * Added an emergency key mechanism to the kernel, inspired by Jan Klötzke's
patch from about a year ago (I couldn't use any code of his yet, though,
  but there are a few things left). The emergency keys are triggered by
  pressing Alt-SysReq + key.
* By default, only Alt-SysReq+'d' is used as a means to deliberately enter
  the kernel debugger. F12 belongs to userland again, now :-)
* Debugger add-ons now have another optional method to implement their own
  emergency keys - 'd' for the debugger cannot be overridden, though.
* The mechanism can be turned off via a new kernel setting, so it's not that
  easy anymore to "crash" Haiku if you don't want to.
* Right now, the PS/2 driver, and the pre-input_server in-kernel debugger
  keyboard mini-driver support this, USB not yet.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-20 20:39:37 +00:00
Ingo Weinhold
7f96148cac Patch by Bryce Groff with changes by myself:
* Added missing name parameter to the partitioning system module child creation
  and child creation validation hooks. Pass the name to them.
* Added BPartitionParameterEditor interface, which is/will be used for editing
  disk system specific parameters.
* Implemented partition parameter editors for BFS initialization and Intel
  partition map child creation.
* Fixed the incorrect supported child partition type iteration in the Intel
  partition map add-on. It does now return actual types.
* Handle the "active" flag parameter in the Intel partitioning system module.
* DriveSetup:
  - Replaced the "Create" submenu by a simple menu item. The type can now by
    chosen in the dialog.
  - Make use of initialization and child creation parameter editors. Some
    non-generic code has been moved to the respective editor implementations
    (BFS, intel partitioning system).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-20 20:29:16 +00:00
Axel Dörfler
c7544c1390 * Enabled default time for shutting off the monitor (after 20 minutes).
* Removed BeOS R5 network password retrieval code.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-20 14:03:30 +00:00
Ingo Weinhold
b5d6fc7173 * Added missing bool type support.
* Added Bytes(), returning a pointer to the "raw" data, and Size(), returning
  the data size.
* Added SetToTypedData(), which initializes the object from a data buffer and a
  type code.
* Added SwapEndianess() to swap the endianess of the contained data (if
  possible).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-18 23:01:48 +00:00
Axel Dörfler
5fbad060b3 * Work-in-progress on a kernel profile service that can be evaluated from
userland afterwards.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-17 16:21:06 +00:00
Oliver Tappe
da82d38f42 * Removed hack used by BeOS to trick stl allocator into using malloc/free for
all allocations, instead we now directly request the use of malloc/free in
  stl_config.h. This avoids warnings about 'arrays of size 0' when building
  any stl-code with -pedantic (like e.g. ICU does).
  Alternatively, we could active pthread-type threading support, but since in
  some small tests, I have not been able to see any advantage, I've just added
  a respective comment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-16 21:27:21 +00:00
Michael Lotz
63d557f06f Fixing random GCC4 warnings. Mostly missing consts, some parentheses, some braces... Should all be harmless and not change anything.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-16 02:42:03 +00:00
Michael Lotz
b78c74fdc4 Fix GCC4 build. Duplicate parameter names generate a warning there.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-15 23:38:15 +00:00
Axel Dörfler
0ca5323479 * Changed the enum into defines, so that apps can check whether or not they
exist (as mDNSResponder does, for example).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-15 15:28:49 +00:00
Axel Dörfler
78888c44da Applied patch by Ma Jie adding functionality needed by mDNSResponder:
* added new protocol method process_ancillary_data_no_container() that does not
  need a container to fill the cmsghdr data.
* Added support for the IP_RECVDSTADDR option using this call.
* Implemented support for IP_MULTICAST_IF.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-15 11:53:29 +00:00
Jérôme Duval
1a90d61b47 synth is already in the data directory, removed the one in the etc directory.
change B_SYNTH_DIRECTORY to use the data directory


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-14 17:05:57 +00:00
Ingo Weinhold
3b859de22e Added handy static method SizeOfType().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-13 18:33:06 +00:00
Michael Pfeiffer
504033fbbe Clean up. Renamed spool_file to spoolFile.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-11 14:37:11 +00:00
Ingo Weinhold
a365e1cfbb Patch by Bryce Groff, some changes by myself:
* devfs:
  - devfs_[un]publish_partition(): They no longer get the partition path as
    parameter, but rather the device path and the partition name.
  - Added devfs_rename_partition(), which renames an already published
    partition node.
* KPartition/KDiskDevice:
  - Replaced the fPublished flag by fPublishedName, the name under which the
    partition is published. This simplifies UnpublishDevice() and makes it
    practically infallible.
  - Added GetFileName(), which only returns the partition's file name.
    Simplified GetPath() by using it.
  - When a partition is added/removed the subsequent sibling partitions get a
    new index. Now we also rename their published device nodes (and those of
    their descendents). When something goes wrong we unpublish the concerned
    partition's device to be on the safe side. Would be a shame to accidentally
    format the wrong partition, eh? :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-11 14:35:04 +00:00
Oliver Ruiz Dorantes
111d946099 - Patch by Michael Weirauch, Finally a deskbar addon for bluetooth
- Functionality to stop services, start preferences, and show debug console
- Cleanups in signatures

-This line, and those below, will be ignored--

M    headers/private/bluetooth/bluetoothserver_p.h
M    src/servers/bluetooth/BluetoothServer.h
A    src/servers/bluetooth/DeskbarReplicant.cpp
A    src/servers/bluetooth/DeskbarReplicant.h
M    src/servers/bluetooth/Jamfile
M    src/servers/bluetooth/BluetoothServer.cpp
M    src/preferences/bluetooth/BluetoothMain.cpp
M    src/preferences/bluetooth/Jamfile
M    src/preferences/bluetooth/defs.h
M    src/preferences/bluetooth/BluetoothWindow.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-10 15:12:51 +00:00
Oliver Ruiz Dorantes
981f1b1135 - Add method in LocalDevice class to write its class to the dongle
- Rework and style the DeviceClass class
- Implement option "Identify host as..." in preferences with mentioned method, this should allow us to be visible to more RemoteDevices



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-10 14:19:17 +00:00
Ingo Weinhold
3edae90975 Added BinarySearchIndexByKey().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-09 23:24:55 +00:00
Clemens Zeidler
ceaa15b6a7 Forgot this, thanks to Andrea Bernardi!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-09 18:24:27 +00:00
Clemens Zeidler
a635614420 Battery interface for the driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-09 17:53:09 +00:00
Oliver Tappe
3a111f3310 Fixed what seems to be a typo:
* the default ABI for gcc2 builds should be B_HAIKU_ABI_GCC_2_HAIKU, not B_HAIKU_ABI_GCC_2, as the latter 
  is equal to B_HAIKU_ABI_GCC_2_ANCIENT and enforces the old symbol resolving behaviour.
  If our build isn't ..._HAIKU, what is? ;-)
This fixes a whole lot of perl tests, which failed because the required shared libs could not be loaded
(as they contained undefined symbols that are only found in second level dependencies).
Note: the existing perl optional package works, since it does not contain any ABI specification symbol yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-08 20:28:23 +00:00
Ingo Weinhold
1cc5e46925 Added offset and size parameters to create_child_partition() and
KPartition::CreateChild(). CreateChild() calls AddChild(), which publishes
the new partition, though at that point offset and size were not set, so that
the published devices would not be usable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-08 20:26:43 +00:00
Oliver Tappe
967294dbd8 * Turns out that the "upper" half of the old (gcc2) libio - the C++ classes -
keeps its own idea about what a wchar_t is and that was still a short.
  This of course made the data structure of a streambuf incompatible with the
  "lower" half - the glibc part - causing (potentially all sorts of) crashes
  when these classes were used.
  This should fix the crash of gensyscalls when building haiku natively
  on a gcc2-haiku.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-08 16:31:01 +00:00
Oliver Tappe
f612278f55 * switched back libiconv to a static library and remove all references to
it (headers and library) from the image. The libiconv in our tree is 
  only used internally as a backend for libtextencoding. The real libiconv
  is provided as an optional package.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-08 01:00:22 +00:00
Oliver Tappe
16d5c24e53 * merged 32bit-wchar_t branches of buildtools and haiku back into
the respective trunk

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-07 10:30:09 +00:00
Jérôme Duval
f38b4b110c we also call DirectConnected on FrameResized(), this is when bounds are updated.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-05 17:56:33 +00:00
Ingo Weinhold
9774f385b5 Added debug_get_symbol(). It's not implemented particularly efficiently, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 14:20:27 +00:00
Axel Dörfler
4e23bc0383 * BMenu now scrolls when you press page up/down, if possible.
* BMenuWindow no longer uses a fixed scroll step - instead, the menu sets it
  to the height of its first item.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 12:09:16 +00:00
Oliver Ruiz Dorantes
ddac407426 - Add initial code to unregister devices from server
- Handle Hardware error event
- Add function to retrieve an string from a bluetooth error
- Styling



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-02 20:07:26 +00:00
Axel Dörfler
7af3465eb5 * Made set_timezone() argument const - it's not supposed to mess with it.
* Renamed time.c to time.cpp.
* set_timezone() now uses localtime_r() instead of localtime(), and will also
  no longer fail in case there was no timezone symlink before.
* Cleaned up OS.h header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-02 14:07:46 +00:00
Ingo Weinhold
7aa7cb4b54 * Renamed {Add,Remove}Reference() to {Acquire,Release}Reference(). Methods with
the old names still exist as deprecated aliases for the time being.
* Introduced hooks FirstReferenceAcquired() and LastReferenceReleased(). Besides
  added flexibility this also makes the deleteWhenUnreferenced constructor
  parameter and the fDeleteWhenUnreferenced attribute superfluous, since the
  "don't delete" behavior can be obtained by overriding LastReferenceReleased().
  Parameter and attribute will be removed eventually.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 21:59:27 +00:00
Ingo Weinhold
ff293f209a Added (const char*) cast operator. That makes BString more convenient to pass
around, particularly returning it from methods instead of a const char*, if the
object stores the string as a BString anyway, thus leveraging CoW.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 13:11:30 +00:00
Ingo Weinhold
a0747aad3b After the first call to BView::InvalidateLayout() further invocations don't
invoke the layout's InvalidateLayout() anymore. This could cause problems when
the layout caches layout related information and also updates those on calls
other than LayoutView(). A call to such a method after an InvalidateLayout()
would mark the cached info valid and the layout would use the cached info
until the first InvalidateLayout() after the next LayoutView(), even if
BView::InvalidateLayout() had been called again in the meantime.

* Introduced a new method BView::ResetLayoutInvalidation(), which must be
  called by layout implementations whenever they have updated their cached
  information and need further InvalidateLayout() notifications.
* Adjusted the existing layout implementations to use the method.

Fixes bug #4047.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-29 14:18:12 +00:00
Ingo Weinhold
59d799dabc * Moved the mapm library from src/apps/deskcalc to src/libs and headers/libs.
* Moved the ExpressionParser class to shared. It's now built into its own
  static library.
* Added hexadecimal number support to the expression parser as well as
  Evaluation*() methods to get a number instead of a string.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 17:10:40 +00:00
Rudolf Cornelissen
c8453f43a4 driver now sets up internal EDID info related to CRTCs next to earlier introcuded code for EDID info related to connectors which makes it much more useable later on. This commit also hopefully fixes the problem introduced in R31183 shutting off some screens in 'invalid' connector setups that the driver tries to correct.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 14:53:07 +00:00
Jérôme Duval
c1094043c9 updated libpng to 1.2.37
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 13:46:52 +00:00
Oliver Tappe
d157bf8522 [the first commit of this fix was applied to the 32bit-wchar_t-branch instead
of trunk]
Fixed a bug exposed by changes in the locale kit branch:
* the signature of stringbuf::setbuf() wasn't matching the one from streambuf,
  which caused the base version to be hidden instead of overridden - leading
  to crashes during cleanup of stringstream objects

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 21:54:46 +00:00
Axel Dörfler
7f5bbbdc56 * Removed PI, and PI2 from math.h.
* Replaced all occurences with the standard macros M_PI, and M_PI_2.
* Some coding style cleanup on the touched files, no other changes besides
  adding a missing check for a failed memory allocation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 11:58:43 +00:00
Axel Dörfler
65b5dd5064 * DatagramSocket::InitCheck() returned the sem_id instead of a status_t, causing
pings to fail (raw socket initialization) after r31079.
* Further cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 16:01:11 +00:00
Ingo Weinhold
fab1c05c05 Split the commpage initialization into two parts. The second part is executed
after all CPUs have been queried for their features. On SMP machines
sysenter/sysexit weren't used before due to the non-boot CPUs appearing not
to have the feature.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 13:53:58 +00:00
Ingo Weinhold
6a1f462e72 * arch_debug_get_interrupt_pc() does now optionally return whether the iframe
is a syscall iframe.
* User debugger support: Don't to call BreakpointManager::PrepareToContinue(),
  if the thread returns from a syscall. We don't want to skip breakpoints in
  that case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 11:49:35 +00:00
Ingo Weinhold
b0f12d64f4 Added transparent software breakpoint support for user debuggers:
* The bulk of the work -- i.e. juggling the software and hardware breakpoints,
  watchpoints, and memory reads/writes -- is done in the new class
  BreakpointManager.
* For the architectures a few capability macros have to be defined, one
  pointing to the software breakpoint instruction opcode. Done for x86.
* Some more simplifications in the user debugger code, made possible by the
  recently introduced debugger_changed_condition attribute.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 21:03:57 +00:00
Stephan Aßmus
4aeb7a3cc2 * Made BTwoDimensionalLayout and BSplitLayout::GetInsets() const.
* Give access to BSplitLayout::SetInsets() and GetInsets() from BSplitView.
* Give access to BSplitView::SetInsets() from BSplitLayoutBuilder and
  LayoutBuilder.
* Some automatic white-space cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 10:56:22 +00:00
Ingo Weinhold
ba391bcc56 Added team_debug_info::debugger_changed_condition to serialize changes to the
installed team debugger and adjusted the code accordingly. It's not needed yet,
but I intend to add support for software breakpoints and those require a bit of
uninitialization that needs to be synchronized with debugger changes and can't
be done with interrupts disabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 01:39:51 +00:00
Ingo Weinhold
91393e7810 InterruptsSpinLocking:
* Removed unused inner struct State.
* Added work-around for the extremely annoying "fState my be used
  uninitialized" warning gcc 4 produces. I'm not aware of any solution that
  doesn't generate unnecessary code. :-/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 01:32:46 +00:00
Ingo Weinhold
5ea5f51d84 Changed ConditionVariable from class to struct to make it more C-friendly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 23:49:05 +00:00
Ingo Weinhold
6dcc2a7e00 Made destroy_team_debug_info() static, as it's not used outside the source
file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 23:46:55 +00:00
Ingo Weinhold
e20dc8a7b7 Added missing convenience methods for unsigned integers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 21:43:06 +00:00
Ingo Weinhold
6cd189c997 Added BinarySearchIndex().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 21:41:16 +00:00
Rudolf Cornelissen
8bdea4194a doing preparations for using analog widescreen detection. if all is right the driver's behaviour hasn't changed yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 20:33:17 +00:00
Oliver Tappe
510c100a8f * synced wchar.h with POSIX and the implementations provided by our libroot
* added WCHAR_MIN and WCHAR_MAX - already as 32-bit values, since that's
  what wchar_t is going to become, soon (and those values could not have
  been used before, since they were missing)
* this is still work-in-progress though, I need to run more tests to find
  out which of these functions are actually working, too


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 19:48:36 +00:00
Stephan Aßmus
b3601d823c * Update indentation style in TabView.h
* Added _MinTabeSize() to BTabView. It makes sure that the BTabView displays
  at least two tabs. In the future it should also add the room to display some
  buttons for cycling the currently displayed tabs left/right if there is more
  than can fit.
* In BTabView::Min/Max/PreferredSize(), use _MinTabSize() to compute the
  respective size.
* Improve Tab rendering code so there are no ugly overlaps at the right edge
  if the tabs falls directly on the view edge.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 13:04:51 +00:00
Ingo Weinhold
697eb34c63 Moved libudis86 to headers/libs/udis86 and src/libs/udis86.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 12:58:16 +00:00
Stephan Aßmus
8f24c71102 Reverted my change to usage of _get_object_token_(), it already means to use
a cached token... doh! Thanks Axel!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 15:47:28 +00:00
Stephan Aßmus
1f9fd6d866 * Added BSplitView drawing code to ControlLook.
* BSplitView uses ControlLook to draw itself.
* Small refactoring in SplitLayout to implement IsAboveSplitter(BPoint).
* BSplitView updates the view cursor when the mouse is above a splitter.
* Standard splitter size is now 6 pixels, which is a bit easer to hit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 15:03:33 +00:00
Stephan Aßmus
fa0ba1f855 Cache a view's server token. Avoids getting it for every
BView method that contacts the server.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 14:12:30 +00:00
Stephan Aßmus
19e179ca4f * Moved the implementation of SetViewCursor from the thread of the
window of the view into the application thread. This solves the
  race condition with asynchronous SetViewCursor and deleting the
  cursor immediately afterwards for real.
* The ServerApp now requires a reference to the current cursor,
  just in case...
* Added TODOs for caching the BView token, it's currently resolved
  for every single BView call that talks to the server... not good!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 12:11:49 +00:00
Stephan Aßmus
5d62f8e0e5 Make it possible to properly use operator= on BCursors by making sure the
reference counting is maintained correctly in the app_server. While reviewing
this code, I have my doubts that my previous solution for handling pending
SetViewCursor() calls is always working as it is intended.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 10:10:01 +00:00
Ingo Weinhold
b7c5bd634b Renamed Variant to BVariant and moved it to libshared.a.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 23:00:25 +00:00
Ingo Weinhold
2a3974d313 Added constructor versions of the Group and Grid layout builders that take a
BWindow* parameter. They set the newly created layout on the window, which saves
the API user to do that.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 15:28:00 +00:00
Axel Dörfler
3609af391d * Renamed _kern_reserve_heap_address_range() to _kern_reserve_address_range(),
and added a _kern_unreserve_address_range() as well.
* The runtime loader now reserves the space needed for all its areas first
  to make sure there is enough space left for all areas of a single image.
* This also fixes the final part of bug #4008.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 11:09:21 +00:00
Axel Dörfler
82db8a9e15 * Added an "unmapAddressRange" argument to the file mapping syscall. This is
the first part of making the runtime loader behave itself; it should already
  make Clockwerk run okay with any number of translators (even if not all of
  them will work yet).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 08:23:11 +00:00
Clemens Zeidler
5f6906e1eb - Add some more acpi function to the acpi module and acpi device module. Need this functions for the embedded controller and battery driver.
- Now also use the acpi handle to call a function and not use the path to get a handle and then call the function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-18 18:18:40 +00:00
Ingo Weinhold
1a726098ec New approach to layout building:
* The new builders are templatized and completely inline.
* They are easily nestable, which only worked for groups with the old approach.
* Added builder for split views.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-17 19:38:51 +00:00
Axel Dörfler
f3b1ada54f * Moved class BStringItem into its own source file.
* Changed BStringItem::Update() to set a better baseline offset and height;
  this should improve vertical text placement.
* Fixed a bug in BStringItem::Update(): it used the owner to determine the
  width, but must use the font passed in instead.
* Coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-17 16:26:17 +00:00
Axel Dörfler
8e5744fe72 * Fixed style violations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-17 14:58:24 +00:00
Axel Dörfler
08a3563801 * Added layout-friendly constructor.
* Reordered functions to match the order in the header (and vice versa).
* Removed unused private functions.
* Updated the header to follow our coding style.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-17 14:56:57 +00:00
Axel Dörfler
160f2d1081 * Added private header defining __gUmask which is now used everywhere where
needed.
* Some cleanup in Directory.cpp, and File.cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-17 14:09:40 +00:00
Stephan Aßmus
041b97a8b8 * Updated header indentation style and small cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-16 14:02:18 +00:00
Ingo Weinhold
568ade58d0 User debugger support:
* Generalized address checks. The debugger can now also read the commpage.
* Added new syscall _kern_get_thread_cpu_state() to get the CPU state of a
  not running thread. Introduced arch_get_thread_debug_cpu_state() for that
  purpose, which is only implemented for x86 ATM (uses the new
  i386_get_thread_user_iframe()).
* Don't allow a debugger to change a thread's "esp" anymore. That's the esp
  register in the kernel. "user_esp" can still be changed.
* Generally set RF (resume flag) in eflags in interrupt handlers, not only
  after a instruction breakpoint debug exception. This should prevent
  breakpoints from being triggered more than once (e.g. when the breakpoint is
  on an instruction that can cause a page fault). I still saw those with bdb
  in VMware, but that might be a VMware bug.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-14 12:14:06 +00:00
Ingo Weinhold
f664c6474b Updated comment to reality.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-14 11:03:39 +00:00
Oliver Ruiz Dorantes
a1163de83e - Long events were locking the bluetooth server, as events can be more than 256 counting with the header.
- Add debug more information in H2 driver and Command Status event
- Change name of port for posting events(former was too long)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-13 19:17:10 +00:00
Jérôme Duval
581708b997 * fix the build by moving a typedef to public scope, and avoid returning a value in the destructor
* some clean up


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-13 10:42:11 +00:00
Jérôme Duval
27e6c57b6a added some PCI capabilities, wireless class values
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-12 21:16:04 +00:00
Oliver Ruiz Dorantes
80ee40e10c License header & style
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-12 18:25:57 +00:00
Oliver Ruiz Dorantes
c6083519e7 Make a bit more elegant the processing of bluetooth events
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-12 18:14:51 +00:00
Axel Dörfler
4ab3fa3b5a * Added real_time_clock(), and real_time_clock_usecs().
* Added support for timespec stat times.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-12 09:31:25 +00:00
Rene Gollent
8c310b36f0 Provide a default value for the leaf argument as is done in the const char * versions of the constructor/setter. This is consistent with the Be Book, though R5 and/or Dano's headers were likewise missing this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-09 20:41:04 +00:00
Stephan Aßmus
34068836d3 Fixed Remove() operations to be O(1) again, I just didn't get it. The item
sorting does not need to be preserved. Thanks Marcus!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-08 07:01:58 +00:00
Axel Dörfler
eab2783a36 * Fixed license header to look like our others.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-07 21:18:32 +00:00
Stephan Aßmus
b7cf537e50 Added BMediaFile::_UnInit() and implemented the two SetTo() methods.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-07 19:43:26 +00:00
Stephan Aßmus
b5ec3e5669 * Coding style clean-up.
* Use std::nothrow and check allocations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-07 19:35:14 +00:00
Rene Gollent
c0e1e0eaac Fix GCC4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-07 19:07:34 +00:00
Stephan Aßmus
bb56a763a6 Resolved TODOs in PluginManager about leaking plugins when they are no longer
needed. I've added MediaPlugin* fields to Reader and Decoder plugin classes
which are set when the PluginManager hands out new instances. This way the
manager knows what plugin created the Decoder or Reader instance in the
Destroy*() methods and can decrease the reference count accordingly. Also added
some FBC stuffing to Decoder and Reader. All media plugins need to be recompiled,
in case anyone has some outside the Haiku tree.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-07 18:11:05 +00:00
Stephan Aßmus
5fa2230d99 Just saw that _Remove(index) here was as broken as in TList.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-07 18:04:32 +00:00
Stephan Aßmus
85af513ad6 Remove() was completely broken if not removing the very last item.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-07 17:56:59 +00:00
Axel Dörfler
e52400cf24 * Fixed a race condition in the former _Detach*() functions: since atomic_get()
was used, two different threads could decide to share the same mutable string.
* Renamed some functions to make clearer what they do, ie. _Detach() is now
  called _MakeWritable().
* Cleaned up some questionable semantics, like the const char* parameter in
  _DetachWith() - you can now choose to copy the original string or not with
  a boolean. This also makes sure that the string is actually copied when it
  has to, which wasn't the case before (but that was no problem with the way
  that function was used).
* Made the header compliant with our style guide.
* Further cleanup.
* All BString related unit tests are passed, so I guess I didn't break too
  much :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-06 11:23:17 +00:00
Axel Dörfler
477a4ca70e * vfs_boot.cpp now also exports gReadOnlyBootDevice which is true when the
boot device is actually read-only (even if it's using the write overlay).
* Do not create a swap file on a read-only device - this would really be a
  stupid use of the write overlay (just saw this happening on an older
  machine).
* Made swap_file_{add|delete}() take a const char* path - there was no reason
  this was writable, and this also avoids casting away the const when adding
  the default swap file.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-05 15:52:58 +00:00
Axel Dörfler
bfd4c59b63 * Added DPMS support to the VESA driver, in case the hardware/BIOS supports it.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-05 13:03:05 +00:00
Rene Gollent
a63261ea5a Added files missed in previous commit. Thanks Urias.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-05 03:50:21 +00:00
Ingo Weinhold
360d4974b9 Replaced the temporary storage used in the kernel debug command parser. We now
have a simple dedicated heap for the kernel debugger with stacked allocation
pools (deleting a pool frees all memory allocated in it). The heap should
eventually be used for all commands that need temporary storage too large for
the stack instead of each using its own static buffer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30949 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-03 12:28:49 +00:00
Rudolf Cornelissen
c1db4db3cc modified I2C code to read the third bus on cards that can support it. Dumping EDID scanning results in logfile only for now (testing..) Bumped version to 0.92.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-02 20:37:59 +00:00
Jérôme Duval
59d67522ea added lrint and llrint functions to math.h
added generic implementations for ppc and m68k


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-02 20:24:18 +00:00
Rudolf Cornelissen
dd67a9b2d4 added enabling I2C buses for NV40 arch cards. hopefully this makes the buses work on GF6100 (noted in bug #2780) and maybe others. added a few registerdefines (wip).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-01 20:06:21 +00:00
Ingo Weinhold
eb0262fc4c * Reworked vm_soft_fault() and friends:
- While walking down the cache chain, we keep all upper caches locked.
  - When we have to unlock -- when waiting for a busy page or reading a page in
    -- we unlock completely, including the address space, and restart
    vm_soft_fault().
  - Folded fault_get_page() and fault_find_page() into one.
  This simplifies and improves things considerably:
  - We no longer need dummy pages.
  - We no longer need vm_area::no_cache_change.
  - #2710 is fixed, since we no longer hold the address space lock while
    waiting.
* vm_soft_fault(): When we have found our page, we first check whether a page
  is already mapped at the address. If it is already our page, we just change
  its protection. If not, we unmap it first. Fixes race conditions when multiple
  threads fault at the same address at the same time.
* fault_get_page(): When copying a read-only page from a lower cache, no longer
  mark it active, since at least for the fault area it is shadowed from then on.
* vm_set_area_protection(): Fixed potential overflow for in the
  vm_translation_map::protect() call.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-29 12:55:25 +00:00
Ingo Weinhold
7515c32c1f Not sure, if this was only a gcc 4.3.3 bug or if I misunderstand something, but
gcc could apparently assume that the register assigned to the one in the
clobber list would keep its value (as can be observed when disassembling
add_debugger_command_etc()).
Using a dummy output register works around the problem and also avoids the
unnecessary initialization of the register.

Comments explaining the mystery welcome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-29 01:17:53 +00:00
Jérôme Duval
7abb735ac6 * Includes termios.h in sys/ioctl.h, for TIOCGWINSZ.
* added watch command, which executes a program periodically, showing output full screen. 
* added watch to the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-28 20:16:35 +00:00
Oliver Tappe
0964534941 * reverted r30883 and made these three headers private for the locale kit for
now, fixing the build

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-28 10:36:33 +00:00
Oliver Tappe
a8149000f0 * removed three locale-related headers which currently just pretend that
haiku would support any of the declared functions (none of which are
  provided by libroot)
  These will come back once the locale kit has been integrated
  

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-27 20:46:49 +00:00
Rudolf Cornelissen
f595427d00 fixed comment typos. No actual change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-27 18:57:01 +00:00
Rudolf Cornelissen
21bade017a added more EDID stuff. Now extracting needed monitor specs and placing them in shared_info. More dumping to logfile added. The EDID info is not yet actually used: more testing is needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-27 18:46:07 +00:00
Ingo Weinhold
f3473d28c0 Patch by Scott McCreary: Replaced C++ by C comments.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-26 12:24:37 +00:00
Oliver Tappe
440447ec2f closing #3481:
* applied a patch suggested by kaliber that seems to fix the issue for good,
  thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-26 11:21:56 +00:00
Ingo Weinhold
c7d1aa192f Added system_info::abi field. It contains the system's ABI version, which
might be different from that of the caller (on hybrid builds).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-26 01:02:39 +00:00
Ingo Weinhold
a9cfff5fc2 Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-25 23:51:16 +00:00
Ingo Weinhold
8c7bf264f5 The 'extern "C"' was missing for the C function replacement of the Version()
method. Rather reintroduced the method (private) instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-25 23:32:53 +00:00
Ingo Weinhold
42c9b01aa6 * {BEntry,BNode}::GetStat() were still passing the BeOS struct stat size to
the syscall. Anything beyond st_mtim was therefore not filled in. Fixes
  the incorrectly shown creation times in Tracker.
* The BStatable::GetStat() solution was not sufficient yet. We still have to
  provide the old GetStat() symbol for BNode and BEntry, since those could be
  used by old applications/libraries. We also still have to implement the old
  GetStat() slots in the derived classes, but don't need to implement it in
  the base class (was purely virtual before and is private now).
* The old BStatable::_OhSoStatable1() slot function was not implemented
  correctly. Calling the virtual function at the vtable slot obviously results
  in an infinite recursion. The correct implementation would make use of the
  Perform() method, but Be didn't provide one for BStatable, so we have to use
  the old GetStat() method. Fixed #3960.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-25 14:03:38 +00:00
Jérôme Duval
56d4690860 wakeup() means wake any waiting threads, so we use the relevant flags. this gives a reliable dv receive stream here.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-24 23:15:04 +00:00
Ingo Weinhold
bcfe344c53 * Made our struct stat POSIX compliant again -- the time_t fields have been
replaced by timespec fields. Via macros the structure is still source
  compatible with the old one.
* Introduced header <compat/sys/stat.h> that defines the old stat structure
  (as stat_beos) and conversion functions
* Introduced versions for [l,f]stat().
* Added symbol versions for BDirectory::GetStatFor() for sake of binary
  compatibility.
* BStatable::GetStat(): Renamed the old method, changed its parameter to
  stat_beos*, and and made it private. Added a new version (using up a
  reserved vtable slot). It remains source and binary compatible.
* BRefFilter::Filter(): Changed the struct stat* parameter to struct stat_beos*
  for sake of binary compatibility. This breaks source compatibility, though,
  which we can't help, since the class doesn't have reserved vtable slots.
* Fixed several issues with the stat structure change, mostly adjusted uses of
  BRefFilter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-22 15:15:16 +00:00
Ingo Weinhold
897514785a Introduced macro B_DEFINE_SYMBOL_VERSION() in <BeBuild.h> to help with
versioning symbols, and private macro DEFINE_LIBROOT_KERNEL_SYMBOL_VERSION()
for symbols compiled into both libroot and kernel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-22 14:57:40 +00:00
Ingo Weinhold
9bf61a0ecc * Added GNU style ELF symbol versioning support in the kernel, too.
* Fixed memory leak in insert_preloaded_image() in error case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-21 15:08:42 +00:00
Ingo Weinhold
b3f709b800 Removed unused elf_version_info::hidden field.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-21 13:11:54 +00:00
Ingo Weinhold
003ebb0e83 * Also define the build system variables TARGET_STATIC_{LIBSTDC++,LIBSUPC++}.
* runtime loader:
  - Fixed gcc 4 warnings.
  - Enabled -Werror.
  - Renamed all remaining *.c source files to *.cpp.
  - Implemented GNU style ELF symbol versioning support.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-20 02:22:36 +00:00
Axel Dörfler
49fb9a2eab * Flatten() would create an invalid entry ref if the path did not exist, or the
path was not yet initialized. It will now fail instead.
* Got rid of EBadInput - _MustNormalize() can now return an error code instead.
* Style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-18 09:09:23 +00:00
Axel Dörfler
97970c5c26 * Applied a changed patch by Romain that fixes the non-working double click in
BListView. This fixes bug #3919. Got rid of the _TryInitiateDrag() method,
  and let MouseMoved() do it all.
* Style cleanup of the header, automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-17 16:49:05 +00:00
Jonas Sundström
03458c01a2 More style guide fixes. Removed a lot of preprocessing / conditional building, with intent to fix or remove. Moved urlwrapper class declaration to its header file. Renamed things for clarity. Removed 5 extra mimetypes for IE shortcuts. (We have one, with sniffing rule and extension.) Moved the UnurlString() back to urlwrapper.cpp and renamed it _DecodeUrlString(). Tweaked copyright clauses. A lot more needs fixing, esp. in urlwrapper but also in BUrl, and I intend to keep working on this until we're satisfied. Let me know of any remaining/added style violations! Feedback welcome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-13 22:19:42 +00:00
Oliver Tappe
f287ca7dc8 fixed behaviour of non-editable textviews:
* non-editable textviews no longer draw the caret
* the cursor keys scroll immediately, not only when the (invisible) caret 
  reaches the views bounds
* HOME/END work more reliably
* any selection stays active throughout keyboard navigation
Tested with AboutSystem, Mail, StyledEdit and Beam - seems to work ok


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-13 22:09:15 +00:00
Ingo Weinhold
6a1e04b121 Symbol resolution functions in the kernel: Removed the unused parameter
allowing optional prepending of a string to the symbol names.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-13 15:25:27 +00:00
Axel Dörfler
b0c7d4fa15 * Removed operator=(otherLocker) again. Didn't really make sense this way,
as Stippi correctly pointed out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-13 14:45:53 +00:00
Ingo Weinhold
f91194e546 Removed the gcc_version from the runtime loader's image_t. Instead we always
determine (or guess) Haiku version and ABI and use those for compatibility
decisions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-13 14:44:17 +00:00
Ingo Weinhold
0509bd7231 * Changed the layout of the Haiku version and ABI constants to allow for
more inbetween versions.
* Added constants for legacy versions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-13 14:37:41 +00:00
Axel Dörfler
49dcde5cf5 * Added operator=().
* Style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-13 07:46:14 +00:00
Jonas Sundström
a243916712 Hopefully fixed indentation in BUrl header. Made data members in BUrl private. Added some class methods. Adapted urlwrapper to use the BUrl class. Removed a few obvious comments and some code that was defined away. Turned off debugging. Stripped App suffix from class name. No intentional changes to the core functionality of urlwrapper.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-13 01:05:42 +00:00
Ingo Weinhold
593ee7bbc3 Extended image_info by fields for the Haiku version and ABI. The runtime loader
and the kernel read those values from the shared object (if available). In the
runtime loader this should eventually replace the gcc version guessing method
currently used (at least for shared objects built for Haiku). The optional
packages need to be rebuilt first, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-12 21:08:56 +00:00
Ingo Weinhold
51c706f70c Added variables to the glue code that identify the Haiku version and ABI.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-12 21:01:26 +00:00
Ingo Weinhold
a4e151e06d * Removed the non-GCC macro definitions.
* Added missing macro B_HAIKU_VERSION. Also added a version macro for alpha 1
  -- it doesn't seem unlikely that the API will change between alpha 1 and R1.
* Added new macro B_HAIKU_ABI indicating which ABI is used (gcc 2/4).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-12 20:55:49 +00:00
Jonas Sundström
28e8dc8e80 Move Url class out of /bin/urlwrapper into BPrivate::Support. I plan to add a Launch()-method that will make it useful to /bin/open, AboutSystem, People and other applications.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-11 00:48:03 +00:00
Stephan Aßmus
7f33d2c159 I am trying to help a bit with the transition from IDE to ATA stack.
* Copied ide_adapter.h as ata_adapter.h in attempt to further
  separate the two stacks.
* Continued renaming stuff in drivers/bus/ATA.h
* Make all the busses/ata drivers include the new headers,
  specifically ata_types.h, ata_adapter.h and bus/ATA.h,
  they were all including ide_types and bus/IDE.h still
* Some renaming of global variables for coding style consistency
* Removed the promise driver from the build, it's not used on the
  image and I don't believe it compiled even for the old IDE stack.
* There is no more Command Queueing in the new ATA stack, so I
  removed the capability indication from the busses/ata drivers
  and ata_adapter.h.

The new ATA stack still boots fine on my computer and I proof-read
the diff like two times. Basically, this was a careful search&replace
job only. The only things I am not sure about is renaming some
publishing related strings, but it seems to all work fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-10 17:04:04 +00:00
Stephan Aßmus
874f5afe32 Removed this old code left-overs. I've looked through everything and AFAIKT,
every code has been moved to and adopted in the new Disk Device API backend.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-10 09:07:21 +00:00
Ingo Weinhold
d571c5835d * Introduced methods ResizeColumnToPreferred() and
ResizeAllColumnsToPreferred().
* Automatic white space cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-09 18:47:19 +00:00
Ingo Weinhold
a01a4cb9d4 Should have been part of r30624: Renamed _SniffFile() to _GetFileType().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-04 13:37:03 +00:00
Jonas Sundström
fa8a3a17c6 Staking out some mipsel ground.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-03 22:12:35 +00:00
Stephan Aßmus
b037500155 Patch by Shinta: The key code was misnamed. Thanks a lot!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-03 08:32:17 +00:00
Jonas Sundström
b7b7891476 Adding mipsel arch.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 19:05:28 +00:00
Oliver Tappe
58481f0f6e * fix gcc4 build of cppunit library by explicitly spelling out std:: in
the headers and importing the required classes in the implementation files
* automatic whitespace cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 19:04:52 +00:00
Jonas Sundström
41a9e149b7 Adding a few directories for mipsel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 18:30:28 +00:00
Stefano Ceccherini
c1f949908a get_device_hid() now has a 'size_t bufferLength' parameter, to avoid the risk of buffer overflow
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 16:04:15 +00:00
Rene Gollent
0d487f65e9 Move using directives into the cpp files so they don't leak into apps making use of the locale kit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 14:52:54 +00:00
Oliver Tappe
a0352959ac * followed advice by Rene to explicitly import the used std-classes instead
of simply importing the whole namespace - thanks for proofreading!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 14:28:32 +00:00
Oliver Tappe
cb89fe1244 * removed codewarrior-specific compatibility cruft
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 14:20:40 +00:00
Oliver Tappe
3a268d9080 * applied several fixes to make locale kit buildable with gcc4, too
* actually, all those fixes were already contained in PulkoMandys patch,
  but I just missed that :-/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 13:44:35 +00:00
Rene Gollent
4328106485 gcc4 build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 01:09:26 +00:00
Oliver Tappe
723383c0f4 Applied patch by PulkoMandy, adjusted and extended by myself:
* integrating most of the locale kit into the build (and image)
* removed LocaleBuild.h and _IMPEXP_LOCALE since that does not make
  sense for elf (which usually exports all symbols anyway)
* added a couple of locale kit related pseudo targets for convenience
Hey, some of that stuff already seems to work :-)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-01 21:56:16 +00:00
Oliver Tappe
c3ac87e8fc * Copied imported OpenTracker Locale Kit files from the vendor branch
into their new homes (at least for now, might need some adjustment).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-01 19:23:59 +00:00
Oliver Tappe
5cc8dc2fe3 * unified application of style into a separate method _ApplyStyleRange()
in order to maintain the null-style appropriately, if required
* finally fix #3040 for real (a single style is now maintained at all times
  for non-stylable textviews)
* the caret is now being drawn with the correct size, even if it is on
  the empty line at the end of the buffer and a specific font size has been
  requested


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-01 13:59:13 +00:00
Axel Dörfler
2d8073a9dc * Added a TODO about a problematic use of vm_page_allocate_page() in combination
with vm_cache_acquire_locked_page_cache().
* Added new function vm_page_num_unused_pages() which returns the pages that are
  actually completely free and unused.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-30 15:46:55 +00:00
Ingo Weinhold
ef0ce69148 Added optional BDebugEventStream::ReadNextEvent() return parameter for the
stream position of the event header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-30 12:24:25 +00:00
Ingo Weinhold
22a332f0b0 Added a base struct for the scheduling event structures. To keep the interface
C friendly it's not an actual base class, but casting to it is fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-30 12:23:02 +00:00
Ingo Weinhold
9073b0dccc Made _debuggerAssert()'s "message" parameter const. Fixes building with gcc4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-30 12:21:20 +00:00
Stephan Aßmus
eb2bd0e8e3 axeld:
* Implemented a way to do asynchronous pre-fetching when mapping files.
* There are slight code duplications in some places that could benefit
  from cleaning up, but nothing too bad.
* Implementing smarter ways to trigger prefetching and more analysis of
  the situations in the kernel would be nice. Currently up to 10 MB
  of every mapped file are pre-fetched without further analysis.
* The speed improvement is nice for certain operations. On our test
  system (real hardware), Firefox took 9 seconds from being launched
  to display a window. Now it takes 5 seconds. Both measurements
  right after booting. The same system took 35 seconds from launching
  Haiku in the GRUB menu to displaying the Tracker desktop background
  image. Now it takes 27 seconds.
* We didn't have the chance to check out the effects of this on the
  CD boot, but potentially, they could speed it up a lot.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-27 18:16:58 +00:00
Oliver Tappe
02359fde69 [ should have been part of last commit ]
more work concerning navigation within BTextView:
* pressing HOME on last line works again
* made public versions of LineAt() do what is required to pass back the
  correct value even for the last line of the buffer (original implementation
  has been moved to private _LineAt())
* PAGE_UP/PAGE_DOWN now moves the view by the bounds-height, making the
  behaviour somewhat less confusing (IMHO, please shout if that's not 
  acceptable for you)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-27 14:00:45 +00:00
Oliver Ruiz Dorantes
155fa31ec6 - Add method in DeviceClass to draw something representative for the kind of device
- Adopt it in Preferences
(Joerg Meyer & me)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-25 18:40:00 +00:00
Ingo Weinhold
57e7daa5a4 Added missing include.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-25 18:34:24 +00:00
Ingo Weinhold
c4945a424b Added Count{Columns,Rows}().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-25 16:47:02 +00:00
Stephan Aßmus
8296330edf Updated indentation style.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-25 09:17:08 +00:00
Axel Dörfler
6f440aed2c * net_socket_module_info::acquire_socket() now returns whether or not the
socket could be acquired, ie. when its reference count is 0, it cannot be
  acquired anymore. This requires the protocol to do proper locking, though.
* The TCP EndpointManager now checks the return value of acquire_socket(), and
  only returns the endpoint if that succeeded.
* This fixes bug #2197.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-24 10:12:30 +00:00
Axel Dörfler
8eb51285d3 * Made _GetUnchecked() return nothing, as it was ignored anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-24 09:58:54 +00:00
Oliver Ruiz Dorantes
b9068dbf95 - Change LocalDevice getter for HCI id
- Fix some new some std::nothrow on critical allocations among kit and server
- Some styling



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-23 18:47:01 +00:00
Ingo Weinhold
a7ccfc910c Added WaitObjectListener destructor. Hopefully fixes the gcc 2 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-23 14:53:18 +00:00
Ingo Weinhold
227fe7d34a * Scheduler/wait object listener:
- Moved scheduler listening interface to <listeners.h> and added more
    convenient to use templatized notification functions.
  - Added a listener mechanism for the wait objects (semaphores, condition
    variables, mutex, rw_lock).
* system profiler:
  - Hopefully fixed locking issues related to notifying the profiler thread
    for good. We still had an inconsistent locking order, since the scheduler
    notification callbacks are invoked with the thread lock held and have to
    acquire the object lock then, while the other callbacks acquired the object
    lock first and as a side effect of ConditionVariable::NotifyOne() acquired
    the thread lock. Now we make sure the object lock is the innermost lock.
  - Track the number of dropped events due to a full buffer.
    _user_system_profiler_next_buffer() returns this count now.
  - When scheduling profiling events are requested also listen to wait objects
    and generate the respective profiling events. We send those events lazily
    and cache the infos to avoid resending an event for the same wait object.
  - When starting profiling we do now generate "thread scheduled" events for
    the already running threads.
  - _user_system_profiler_start(): Check whether the parameters pointer is a
    userland address at all.
  - The system_profiler_team_added event does now also contain the team's name.
* Added a sem_get_name_unsafe() returning a semaphore's name. It is "unsafe",
  since the caller has to ensure that the semaphore exists and continues to
  exist as long as the returned name is used.
* Adjusted the "profile" and "scheduling_recorder" according to the system
  profiling changes. The latter prints the number of dropped events, now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-23 13:47:52 +00:00
Stephan Aßmus
acc632c7ec Make it clear from the API that the volume passed in is not touched by the
function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-22 14:13:45 +00:00
Oliver Ruiz Dorantes
3a75fb9c85 style
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 21:36:37 +00:00
Oliver Ruiz Dorantes
b09fa0e435 - Fix Jamfile
- Avoid constructor in parent class



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 20:59:47 +00:00
Oliver Ruiz Dorantes
c3053cacff - Add candidate interface for addons with custom configuration for LocalDevices.
- Add example implementation for Devices which need issue a Reset Command



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 20:04:24 +00:00
Axel Dörfler
a87124634a * Our INADDR_* and IN_CLASS* macros were mostly wrong - they are supposed to
be in host endian order.
* Adapted ipv4 code that automatically finds a netmask to this change.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 19:21:52 +00:00
Oliver Ruiz Dorantes
1b80286772 Move GetID to public API
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 18:21:40 +00:00
Ingo Weinhold
0b6cffb656 Added BDebugEventInputStream::SetTo() for initializing with a memory buffer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 15:29:11 +00:00