Commit Graph

23513 Commits

Author SHA1 Message Date
Axel Dörfler
340dd4fe3d Renamed .c to .cpp, and fixed all warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-29 14:54:30 +00:00
Axel Dörfler
105152d1f5 * Rewrote CORB/RIRB handling: the previous code did not use it as a ring
buffer and would thus overwrite foreign memory after a while resp. reading
  invalid responses.
* Further cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-29 14:11:30 +00:00
Axel Dörfler
35f4a9220a * Now always adds a newline at the end of the given arguments. This fixes
bug #1875.
* This does not apply when retrieving the string from stdin, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-29 09:10:44 +00:00
Michael Lotz
87df690150 * Replaced the UTF8ToCharCode function with one that handles invalid chars
correctly (or at all...)
* Use the common 0xfffd character as a substitute for invalid characters
* Corrected comment

This function is used by the app_server to convert the UTF8 strings to char
codes to feed FreeType. Using a non space substitute character at least for
now, as it makes it more obvious where invalid characters are present.
I tested this change with some UTF8 test files and it seems to work well.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 23:04:47 +00:00
Jérôme Duval
869ca0eb9a fix typo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 21:35:31 +00:00
Axel Dörfler
d273d00822 * Fixed previous version of UTF8CountBytes() and put it in again: it was
breaking out of the loop too early, and would therefore miss the last
  character.
* Replaced UTF8CountChars() with a short and safe version as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 19:17:33 +00:00
Stephan Aßmus
ccf6ad1d8b Reverted to the previous version. Axel, your change completely broke all kinds
of stuff. I think the trouble is that you keep decrementing charCount while
still inside the same UTF8 glyph. I cannot really tell, I am hoping you don't
mind me reverting to the old version, since the new one is only three lines,
so it should be easy to correct and re-commit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 15:56:31 +00:00
Axel Dörfler
a9ab9cf19a Setting a default netmask/broadcast address is no longer needed in ifconfig
and the net_server; the network stack now does this internally since r24170;
it worked for IPv4 only, anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 15:51:34 +00:00
Axel Dörfler
b5a5aebc90 * Added a set_to_defaults() function to the address module: it can be used
to retrieve the default settings for the netmask/broadcast depending on the
  specified address/netmask.
* interface_protocol_control() now uses this to reset the broadcast/netmask
  to their default values on SIOCSIFADDR resp. the former only on
  SIOCSIFNETMASK.
* This fixes bug #1861.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 15:43:27 +00:00
Axel Dörfler
487b83f327 This should fix the remaining build problems under Dano and Zeta.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 14:49:51 +00:00
Stephan Aßmus
43361fc860 * Fixed "missing virtual constructor" warning (which is probably even a
correct warning) for AbstractPointerListHelper. (libbe_build.so)
* I have had problems with implementing virtual functions inline in the
  class declaration before, so I implemented the virtual destructor
  externally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 14:39:19 +00:00
Stephan Aßmus
37950dd1d2 There is no reason to prefer 16 bpp modes anymore. 32 bpp is just as snappy,
maybe users on older hardware prefer 16 bpp, but that should be fixed by
supporting a vesa config file instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 12:32:10 +00:00
Axel Dörfler
326dce3ae0 * Simplified UTF8CountBytes() a bit, made it faster, and less error-prone
against malformed UTF-8.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 10:45:57 +00:00
Rene Gollent
4f8e472b15 Minor optimization.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 05:42:07 +00:00
Rene Gollent
396b8a0dc2 Rescan the selection range after doing a swap.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 00:52:20 +00:00
Axel Dörfler
681835d2df * Given its limitations, I should probably not leave it turned on.
* Also, a wall size of 64 byte is a bit large for every day use, too :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 00:29:14 +00:00
Axel Dörfler
79e518749d * Implemented a very simple wall checker for the hoard allocator to
track down bug #1862.
* It's not complete for now, as it does not support memalign() or
  posix_memalign() yet - handle with care, or feel free to complete :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 00:27:30 +00:00
Axel Dörfler
d863e59794 * Fixed a warning when compiled with HEAP_DEBUG turned on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 00:25:16 +00:00
Axel Dörfler
a4de7fa0fa * Do not trust the client! ServerFont::GetEscapements() now takes a
parameter for the length of the arrays, so that even if the char/byte
  counts do not match, no memory is overwritten anymore.
  This fixes bug #1862; .canna obviously contains invalid UTF-8 
  characters, or there is a bug in StyledEdit (or deeper) and it doesn't 
  call BFont::GetEscapements() correctly.
* Fixed some cases of unchecked allocations in the font handling methods
  of ServerApp, added TODOs to all other ones.
* Improved error code when creating a window fails.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 00:22:48 +00:00
Axel Dörfler
e705558bb9 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 00:12:06 +00:00
Rene Gollent
07d1827688 Implement BOutlineListView's derivative of SwapItems(). This makes things like Vision's network reordering shortcuts
work correctly.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 22:54:37 +00:00
Karsten Heimrich
85b669320b * make sure we show the "Printer Setup" panel in case one calls ConfigJob
without a previous call to ConfigPage, as this would fail without any notice...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 22:27:05 +00:00
Michael Lotz
f566ae596d The fNeedToUpdate member was not initilized which caused the initial creation
of the image to be skipped. Magnify therefore showed a white frame as long as
the area around the cursor would not change. Fixes bug #598 (again). I wonder
why this didn't show up earlier though.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 21:02:21 +00:00
Alexandre Deckner
bb8610d004 * url is blue now!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 17:43:36 +00:00
Axel Dörfler
0c415f6265 "leaf" may be NULL, fixed crashing bug I introduced with
vfs_entry_ref_to_path().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 17:36:21 +00:00
Alexandre Deckner
7d5ff380e2 * added Bullet copyright
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 17:27:39 +00:00
Axel Dörfler
a77ed12b25 * Removed obsolete "ident" parameter from devfs_publish_device().
* driver_entry::api_version now stores the actual version instead of a
  pointer to it.
* Renamed node_path_entry to path_entry and reused it for driver 
  reloading: handle_driver_events() will now also check for drivers to
  add in the sDriversToAdd list.
* Added new devfs_driver_added(), and devfs_driver_removed() functions
  that trigger certain driver actions.
* Implemented notifying devfs on B_ENTRY_CREATED, B_ENTRY_REMOVED, and
  B_ENTRY_MOVED events in probe.cpp. The watched directory inode numbers
  are now stored in a hash for B_ENTRY_MOVED.
* unpublish_driver() did not actually delete the node, it only marked
  it removable since we never get/put the node. We now do, and so the
  node is actually removed as intended.
* Added "devfs_driver" KDL command.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 16:55:59 +00:00
Axel Dörfler
4f26630d82 * Factored a vfs_entry_ref_to_path() out of _user_entry_ref_to_path()
and made it public (within the kernel).
* _user_entry_ref_to_path() is now using that function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 16:39:32 +00:00
Stefano Ceccherini
4454eadeb4 first steps towards enabling support for wide chars in our libroot: reverted mbrtowc.c to glibc 2.2.5, added necessary iconv support to let it compile, added dl*** wrappers for needed glibc functions. Not sure it's the correct path, but let's try, at least.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 15:53:54 +00:00
Alexandre Deckner
8ec7fd3156 * removed some refactoring left-over
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 13:31:54 +00:00
Alexandre Deckner
552bd60c4b * rewrote mouse rotation to be more intuitive, doing the rotation in
world space instead of local object space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 13:12:38 +00:00
Axel Dörfler
9c800a96c0 This should fix the build under Dano/Zeta again, at least it works here:
* added HaikuBuildCompatibility.h to the src/build/* files that are built as
  part of the tools we need to build Haiku.
* Changed HaikuBuildCompatibility.h so that it does not define the things
  that are already in the build headers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 09:03:46 +00:00
Michael Lotz
6dffd08db7 Hopefully this is a good compromise. If more than 99% of the interrupts of a
vector are unhandled, it is disabled if it is not a shared interrupt vector
(as before). Otherwise a message is printed to indicate the condition. I
reduced the amount of interrupts to 10000, as with 100000 it would take over
half an hour on my machine to trigger. Feel free to adjust.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 20:54:04 +00:00
Axel Dörfler
73107b3121 Make the waiting on buffer exchange interruptible; sometimes the driver manages
to lock up (after some changing formats, rates, play/stops). Needs more
investigation, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 16:10:50 +00:00
Axel Dörfler
7ef3822c00 * No longer enable interrupts for all possible streams - they are now enabled
on a per-stream basis in hda_stream_start().
* Also, don't turn on interrupt generation in the stream before starting the
  stream.
* Create space for the DMA position update and set it in the controller, not
  yet tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 16:05:55 +00:00
Stefano Ceccherini
10da43ea2e Use DejaVu as default fonts, instead of Bitstream Vera. DejaVu is
just like Vera, but it has some more glyphs. Actually we could get rid 
of Vera completely.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 15:59:17 +00:00
Stefano Ceccherini
748347fc20 Check for invalid rects in BRegion::Include() and Exclude(). This fixes
weird text selection in BTextView() (for example, when an empty line was 
part of the selection).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 15:20:39 +00:00
Axel Dörfler
e6fdb84b92 * If path equals "" it won't be published anymore.
* load_driver() now uses republish_driver() instead of publishing all
  devices every time. This allows published nodes to remain stable, no
  matter if the driver has been unloaded in the mean time or not.
* Offloaded driver reloading to a kernel daemon. Since this is regarded 
  to happen rarely, a simple event variable will be set when something
  happened, and the daemon will then check all known drivers.
* devfs_open() will now check if the driver has to be reloaded, and will
  do so before opening the device.
* Moved republish_driver() around again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 14:54:41 +00:00
Axel Dörfler
e1a5a1db60 * Fixed publish_devices(): the last entry is supposed to be NULL, not
"".
* Added uninit_hardware() hook.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 14:48:23 +00:00
Rene Gollent
43948ef628 - Fix an error in SwapItems where the item tops would not be swapped
if the items were the same height.
- Modified _RecalcItemTops to allow us to specify a range instead of 
just a starting point. This is useful for cases like Swap, where 
only the items in between those being swapped need to be 
recalculated.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 13:27:24 +00:00
Axel Dörfler
d6fdcf4304 * More cleanup, build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 12:55:33 +00:00
Axel Dörfler
af45eef18d * Fixed rate for 96kHz.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 12:39:33 +00:00
Stephan Aßmus
a01db67de0 Do not scroll to the bottom of the current line if that means the top of the
line will be scrolled out of view. (Fixes text jumping one pixel up/down in
Vision with each new char you type into Visions text box.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 11:48:36 +00:00
Axel Dörfler
ee0a072929 * While it was broken before, having the devices_used counter updated in
{get|put}_node() is not really what we want either; moved the maintenance
  into the open() and free_cookie() hooks.
* This should fix driver reloading on change for drivers that have been used
  before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 10:41:43 +00:00
Ingo Weinhold
3f6971fd68 Some additions to the existing kludges to fix the build on BeOS.
I tested building libroot.so only (BeOS under VMware is not exactly
fun as a build platform), but I think that should suffice.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 02:31:59 +00:00
Ingo Weinhold
7539ff87da As already commented in #1824 this is incorrect.
Running scripts with load_image() works again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 01:44:06 +00:00
Alexandre Deckner
988e5c553f * set the view color after calling BControl::AttachedToWindow since it
overrides it, thanks Axel!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 00:17:02 +00:00
Jérôme Duval
30cce27770 Patch from kaliber: use path of executable instead of the command. Thanks!
this fixes bug #1773 and #1824. I tested only #1773.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 00:03:51 +00:00
Stephan Aßmus
46ea5b1e49 Further improvements to auto scrolling and text rect + container view resizing:
* Renaming things in Tracker list mode no longer magically grows the text view.
* ScrollToOffset() is not supposed to depend on the existence of any scroll
  bars, in R5 text views simply scroll to where they need to. This fixes
  renaming things in Tracker when hitting the window bounds (text widget stops
  growing and starts to autoscroll) and also the Text tool in WonderBrush.
* _ScrollToOffset() is therefor no longer needed.
* The insets of the text rect are not so interesting as the original width.
  In auto resizing mode, the original width is important when there is no
  container view. In this setup, the text rect auto resizing is mainly needed
  for auto scrolling, but it should never shrink below the original size.
* Further improved auto scrolling for right aligned and center aligned text
  views, it works like R5 now. Also take the line height into account when
  checking for the bounds bottom. Removed extra spacing for vertical
  scrolling.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-25 23:34:23 +00:00
François Revol
be438c2b6b Add ntfs to the image if GPL is enabled, as it seems to build just fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-25 22:03:39 +00:00