* Select() did not adjust fClickOffset, which resulted in the cursor
position not being where on would expect (noticable when pressing
cursor-up/-down)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30184 a95241bf-73f2-0310-859d-f6bbb57e9c96
* in BEntry::SetTo and BFile::SetTo, we now support entry-refs with
absolute names, too, just like R5 does
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30183 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Since r30000, a net_socket is not zeroed anymore, which in turn
leaves its two addresses (local and peer) in an uninitialized,
but correct state - marking their state with ss_len == 0.
However, this state was not properly detected in some ipv4-address
functions, especially not the one that creates a hash value from
those two addresses.
This basically caused UDP to stop working, as here the peer address
(as opposed to TCP) is usually not explicitly initialized.
Adjusting the ipv4-address functions accordingly fixes the problem,
such that DHCP (and the rest of UDP) should now work again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30175 a95241bf-73f2-0310-859d-f6bbb57e9c96
* renamed _FindXXXWordBoundary() methods to _Previous/_NextWordBoundary()
since the respective per-char methods are named this way
* started to work on improving the behaviour of page-up/page-down
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30012 a95241bf-73f2-0310-859d-f6bbb57e9c96
* reverted my recent change that caused Mail to always show the end
of mails 8-) and now invoke ScrollToOffset() wherever it was missing
(mostly in keyboard-related methods)
* _DoInsertText() only moves the caret if the text has been inserted
in front of the caret, not after it
* overhauled selection by char/word/line and their extension mechanism
(which now behaves as the haiku shell)
* use strnlen() instead of strlen() in those versions of Insert() which
accept a length parameter, as strlen can potentially waste a lot of
cycles skipping the whole string, when all we want is to clamp the length.
* cleanup (some of it automatic removal of trailing whitespace)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29995 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Select() did not re-show the caret when it should
* GoToLine() must hide/show the caret to avoid drawing artefacts
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29983 a95241bf-73f2-0310-859d-f6bbb57e9c96
* optimized unmapping of a single page that was rather inefficient
for large areas
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29978 a95241bf-73f2-0310-859d-f6bbb57e9c96
we request the drawing via Invalidate() - this make use of the app-server's
potential double buffering, whenever that is active. This change reduces
flickering in VESA mode considerably.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29962 a95241bf-73f2-0310-859d-f6bbb57e9c96
with large contents:
* when searching for tab characters in DrawLine(), we now limit the search
to the current line, too (not only the end of the style) - this avoids
scanning to the end of large contents repeatedly
* there's no need to refresh from the edit location to the end of the
content in _DoInsertText(), we only need to refresh the part that has
changed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29960 a95241bf-73f2-0310-859d-f6bbb57e9c96
* added 'app' private header path such that ServerProtocolStructs.h
can be found
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29939 a95241bf-73f2-0310-859d-f6bbb57e9c96
* removed superfluous #include <config.h> which was protected by an #ifdef
that evaluated to false - so the file never got included, but jam tried
to locate it and usually failed, unless there happens to be a config.h
in the current working directory.
This fixes a spurious dependency from regex.c to the config.h in
src/libs/iconv.h if you invoked jam from there.
* fixed two warnings by always including stdlib.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28639 a95241bf-73f2-0310-859d-f6bbb57e9c96
* adjusted libtextencoding's Jamfile
* added libiconv.so to image
* added iconv headers to optional package Development (under 3rdparty)
* removed old private version of libiconv from textencoding
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28631 a95241bf-73f2-0310-859d-f6bbb57e9c96
the libiconv that was available for R5
* cleaned up iconv.h
* moved public libiconv headers (iconv.h and localcharset.h) into a
specific folder in headers/libs
* renamed config.h to libiconv_config.h in order to circumvent strange
problems with regex.c from glibc picking it up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28630 a95241bf-73f2-0310-859d-f6bbb57e9c96
(config.h, iconv.h and localcharset.h were created by running 'configure'
on haiku)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28629 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixed LineHeight() for the case when the textview does not yet contain
anything - instead of returning 0 we now return the lineheight of the
default style (or the textview's font).
Fixes#2231
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28194 a95241bf-73f2-0310-859d-f6bbb57e9c96
with zeros anyway)
this fixes creation of unique file names in Beam under haiku
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28170 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed a general problem with respect to overriding of the reserved
virtual function slots: instead of statically invoking the method
that corresponds to the reserved slot on the class that contains the
slot, we now invoke the virtual Perform() method. Perform() then dispatches
the method invocation to the "proper" class, i.e. the highest class in the
hierarchy that actually implements the requested method.
This fixes a crash in apps that use liblayout's MSlider class and
should fix one or other spurious bug with old apps or libraries, too.
* added new header folder 'binary_compatibility' that contains files that
define the method codes and data structures required by Perform()
* looked for and implemented all used reserved virtual slot functions to
invoke Perform() where necessary or to pass on the method call statically
(for slots that were already maintained by Be)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28124 a95241bf-73f2-0310-859d-f6bbb57e9c96
address can now be specified), in order to be able to do
global broadcasts as well as network (IP-level) broadcasts
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27980 a95241bf-73f2-0310-859d-f6bbb57e9c96
datagram to have the SO_BROADCAST flags set (the flag
is only needed for sending a broadcast) - fixes part of
#2065
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27973 a95241bf-73f2-0310-859d-f6bbb57e9c96
that is neither correct (source and destination are ok as they are)
nor does it have any effect (since those values are clobbered by the
domain module afterwards)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26516 a95241bf-73f2-0310-859d-f6bbb57e9c96
* we need to initialize c_ospeed and c_ispeed, as a value of 0 means
'hangup' - which is not a good default, I suppose
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26426 a95241bf-73f2-0310-859d-f6bbb57e9c96
* added NetEndpointTest that exposed a couple of bugs
* fixed several bugs in the implementation of BNetEndpoint, some of which kept
NetPenguin from working
* fixed a couple of constness issues in BNetEndpoint and BNetAddress
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26405 a95241bf-73f2-0310-859d-f6bbb57e9c96
struct sockaddr_in - the real culprits were BNetAddress::GetAddr(sockaddr_in&)
and BNetAddress::SetTo(const sockaddr_in&):
* moved check_r5_compatibility() into r5_compatibility.h to make that function
available to BNetAddress, too
* adjusted sockaddr_in-handling methods of BNetAddress to deal with R5-addresses
if in compatibility mode
* removed is_r5_sockaddr() again, since it is no longer needed
With this less hacky solution, Beam, NetPositive, NetworkTime and Vision still work. So, there's hope that the R5 compatibility layer is now complete.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26377 a95241bf-73f2-0310-859d-f6bbb57e9c96
* instead of always converting from the expected r5_sockaddr_in to haiku's own,
we now explicitly check whether or not the given sockaddr is an r5_sockaddr_in
or not, naturally doing the conversion only if it is. This is necessary since
even R5 applications may not always pass in r5_sockaddr_in structs (as for
instance gethostbyname() will return a native [haiku-]sockaddr_in)
* cleaned up the confusion between the name r5addr and it's actual meaning
(holding a haiku sockaddr_in) - renaming it to haikuAddr instead
* undid the part of Ingo's r25489 described as: "Extended R5 compatibility
check to also consider calls from libbnetapi" - as I fail to see why this
would be desirable and in fact it stops at least Beam from working.
Ingo: if you can remember, please enlighten me what was the reason behind
this change.
This finally makes Beam "work" (well: connect to servers and download mails ;-)
Vision, NetworkTime and NetPositive are still working, too, so hopefully there
are no regressions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26303 a95241bf-73f2-0310-859d-f6bbb57e9c96
to scan loaded libraries, too, as the dependency on network libraries may not
be present in the executable image, but may be "hidden" in one of those
library images (as is the case with Beam).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26277 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixed several byte order inconsistencies, it does not make sense to always
convert the byte order input/output values - no we convert where it can
be expected and leave it where it is confusing
* fixed size inconsistencies with respect to family and port, both of which
were sometimes handled as int8, as int16 and as int32 in different places
(now they are always int16)
These fixes make Beam connect to the correct address and port, but it still doesn't work, as it seems to be using UDP instead of TCP (doh!). Will look into that tomorrow.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26269 a95241bf-73f2-0310-859d-f6bbb57e9c96
* removed leagcy _sstream-header, we now use sstream, as both compilers provide it
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19109 a95241bf-73f2-0310-859d-f6bbb57e9c96
be passed *before* libstdc++, otherwise the linker that comes with gcc4
complains.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19107 a95241bf-73f2-0310-859d-f6bbb57e9c96
in separate folders ('cross-tools-legacy' and 'cross-tools-gcc4') and you
can use the new cmdline-switches 'use-cross-tools' and 'use-cross-tools-gcc4'
to switch between those two. Before, you always had to recompile the tools
in order to switch.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18985 a95241bf-73f2-0310-859d-f6bbb57e9c96
building of cross-compiler on Linux (as reported by korli, thanks!).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18861 a95241bf-73f2-0310-859d-f6bbb57e9c96
being called, resulting in the driver supporting taking interfaces down and back
up
* some more cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18509 a95241bf-73f2-0310-859d-f6bbb57e9c96
of months ago
* cleanup, improved styleguide conformance at least to some extent...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18393 a95241bf-73f2-0310-859d-f6bbb57e9c96
closed in device_free(), not device_close(), too. Don't know why yet, but
I'm pretty sure I should follow their example...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17730 a95241bf-73f2-0310-859d-f6bbb57e9c96
(by linking them to haiku's libsocket.so and libbind.so). This in turn greatly
simplifies building their respective userland version as they now are the same
as the standard version.
- added ping and traceroute to install-userland-networking pseudotarget
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17717 a95241bf-73f2-0310-859d-f6bbb57e9c96
is not part of the userland networking (pointed out by Axel)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17707 a95241bf-73f2-0310-859d-f6bbb57e9c96
the other BeOS-platforms anyway (unless I'm mistaken). Please note that
these tools are still available as part of 'install-userland-networking'.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17703 a95241bf-73f2-0310-859d-f6bbb57e9c96
userland-networking files into a convenient place for easier testing:
+ net_server_driver and net_stack_driver are installed to
/boot/home/config/add-ons/kernel/drivers/bin and ../dev/net
+ net_stack_tester, ifconfig, arp and route are installed to
$(HAIKU_TEST_DIR)/kits/net/userland
+ libsocket, libnet, libbind and libnetapi are installed to
$(HAIKU_TEST_DIR)/kits/net/userland/lib
+ userland add-ons are installed to
$(HAIKU_TEST_DIR)/kits/net/userland/add-ons/obos_network
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17701 a95241bf-73f2-0310-859d-f6bbb57e9c96
* added two more tests that exhibit the (now fixed) problem in FindLast()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16586 a95241bf-73f2-0310-859d-f6bbb57e9c96
- this differs slightly from the one that lives in buildtools/gcc as it
has been "ported" to the newer libio that haiku uses as part of its own
libroot
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9906 a95241bf-73f2-0310-859d-f6bbb57e9c96
compatible; change vtable-label-prefix accordingly.
- removed inclusion of wchar.h, as this breaks the libstdc++-build (hopefully
this doesn't break anything ?!?)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9903 a95241bf-73f2-0310-859d-f6bbb57e9c96
which can be used to test haiku's own libstdc++ under R5.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9900 a95241bf-73f2-0310-859d-f6bbb57e9c96