Commit Graph

43502 Commits

Author SHA1 Message Date
Rene Gollent
778ef3f92b Debugger: Adjustments to Jamfile.
- Remove duplicate instance of libshared.
- Add linker flags to not export symbols from linked in static libraries.
  Resolves an issue on gcc4 where symbols from libedit and libsolv would clash,
  leading to crashes.
- Add package kit-related headers and libraries.
2014-06-18 22:25:49 -04:00
John Scipione
a30a4a41f9 Style fixes to Storage Kit classes.
No functional changes intended.

* Some variable renaming for clarity and consistency.
* Pointer style fixes.
* Added private method documentation back to cpp files for some methods.
2014-06-18 19:14:19 -04:00
Ingo Weinhold
d2d1af830b Revert "Move ZlibDecompressor to libshared"
This reverts commit 9af2105d36.

Conflicts:
	src/kits/package/Jamfile
2014-06-18 22:13:39 +02:00
Ingo Weinhold
5cd75b56a8 Revert "ZlibDecompressor: also accept gzip format"
This reverts commit 142d59ca90.
2014-06-18 22:13:39 +02:00
Ingo Weinhold
747b401e87 Revert "DynamicBuffer: implement BDataIO"
This reverts commit 36b1f55a18.
2014-06-18 22:13:39 +02:00
Ingo Weinhold
256080b112 Revert "HttpRequest: support gzip and deflate compression."
This reverts commit c3d0dd7a5e.

Conflicts:
	src/kits/network/libnetapi/HttpRequest.cpp
	src/kits/network/libnetapi/Jamfile
2014-06-18 22:13:39 +02:00
Ingo Weinhold
707f60f4e9 Revert "Fix build."
This reverts commit 00dfae0bce.
2014-06-18 22:13:39 +02:00
Ingo Weinhold
a05da9f4b2 Revert "...and also fix a mismatched prototype"
This reverts commit 6555120f3b.
2014-06-18 22:13:38 +02:00
Ingo Weinhold
4c235c7497 Revert "Fix more issues detected by gcc4 compiler:"
This reverts commit 19f3bae071.
2014-06-18 22:13:38 +02:00
Ingo Weinhold
d5660e67af Revert "build fix follow up on status_t/ssize_t changes."
This reverts commit 7202cfb455.
2014-06-18 22:13:38 +02:00
Ingo Weinhold
94a66563f5 Revert "shared kit: fixed headers dependency."
This reverts commit 675878fcfe.
2014-06-18 22:13:38 +02:00
Ingo Weinhold
3528fd2d66 Revert "Fix one more status_t/ssize_t mixup."
This reverts commit f6658d2c2c.
2014-06-18 22:13:37 +02:00
Ingo Weinhold
cc66d3a051 Revert "Style fixes, no functional changes"
This reverts commit 916382a10f.
2014-06-18 22:13:37 +02:00
Ingo Weinhold
a01adf34d6 Revert "boot packagefs: Fix zlib dependency declaration"
This reverts commit 0b565a6f51.
2014-06-18 22:13:37 +02:00
Ingo Weinhold
f39d7f1096 Revert "boot packagefs: Fix header path in zlib dependency"
This reverts commit aafc3386ef.
2014-06-18 22:13:37 +02:00
Ingo Weinhold
f648efd3d4 Revert "Fix zlib-dependencies of (boot & standard) packagefs."
This reverts commit 06ed405803.
2014-06-18 22:13:36 +02:00
Ingo Weinhold
f256bccc66 Revert "Fix zlib-dependency in libnetapi."
This reverts commit 6b6ff33d60.
2014-06-18 22:13:36 +02:00
Rene Gollent
37b6923b87 RemoteDesktop: Fix x86_64 build. 2014-06-17 18:40:56 -04:00
Ingo Weinhold
a852846fc2 HaikuDepot: Update list on installation location package changes
Very dumb implementation (just does a full update). I leave it to the
HaikuDepot hackers to improve it.
2014-06-17 20:32:26 +02:00
Ingo Weinhold
5c9672edeb Add watching support for installation location package changes
Can be requested/stopped via BPackageRoster::{Start,Stop}Watching().
The notification message has the what code B_PACKAGE_UPDATE and contains
fields "event", "location", and "change count".
2014-06-17 20:32:26 +02:00
Ingo Weinhold
3f91ba29d9 package_daemon: Root: Add IsSystemRoot() 2014-06-17 20:32:25 +02:00
Ingo Weinhold
b44215c079 BRoster::Private::SendTo(): Actually support NULL reply
Unlike documented passing a NULL reply would just fail instead of
sending the message without waiting for a reply.
2014-06-17 20:32:25 +02:00
Ingo Weinhold
820dbc01ce BTransactionIssue: String improvements 2014-06-17 20:32:25 +02:00
Adrien Destugues
e96676ab5a Try opening URLs with the preferred app
We already did this when the URL was entered in the address bar, now
also do it when it comes from a link in a webpage.

Makes mailto links work and fixes #6236.
2014-06-17 12:58:33 +02:00
Adrien Destugues
69631a6a05 More tweaks to the notification window looks
The color stripe for error and important notifications is now 3 pixel
wide only. We still need a better choice of colors here.
2014-06-17 08:25:24 +02:00
Rene Gollent
94aa0c624b Debugger: Fix #10764 (again).
- When terminating TeamWindow, if InspectorWindow is still active,
  ensure that it's also quit at that point. Otherwise, it was
  possible for the inspector window to receive the quit message from
  the main application's shutdown process after TeamDebugger had
  already been terminated, leading to a crash when the window tried to
  release its current memory block, since the block manager had
  already been destroyed by that point.
2014-06-16 23:34:04 -04:00
Rene Gollent
dee948553c Debugger: Rework report generation.
Rather than trying to buffer the entire report in memory and write
it in a single shot, write it incrementally as the data is gathered.

Fixes an issue reported by Diver with generating crash reports for
apps that had crashed due to an infinite recursion stack overflow.
2014-06-16 23:21:12 -04:00
Humdinger
6229115bac More small C++11 tweaks. 2014-06-16 19:34:56 +02:00
Humdinger
991dadd632 Make sure there's a space in front of B_UTF8_ELLIPSIS.
As PulkoMandy said in hrev47388: C++11 safe and reads better.
2014-06-16 17:55:34 +02:00
Adrien Destugues
2860fecc80 Truncate absurdly long bookmark names.
Fixes #9593.

The complete name could be stored inside the file or as an additional
attribute, but do we really need it? The bookmark menu will truncate it
even further, anyway.
2014-06-16 17:05:42 +02:00
Adrien Destugues
eb503978b7 Add space between string and ellipsis.
C++11 safe and reads better.
2014-06-16 14:24:10 +02:00
Adrien Destugues
362940cf89 BMP sniffing: check more bytes
* Check that the two high-order byte of the DIB header size are 0 (the
largest known size according to wikipedia is 124 bytes).
* This avoids identifying any text file that starts with "BM" as a BMP
file.

Fixes #10912.
2014-06-16 13:15:47 +02:00
Adrien Destugues
1ff6e7a80f More correct label for the save page menu item
Use "Save page as…" since the item will open a save panel.
2014-06-16 12:47:33 +02:00
Adrien Destugues
da802e25b7 Style fix. 2014-06-16 11:14:59 +02:00
Ingo Weinhold
eb718e31d2 Terminal: Handle SIGCHLD in a dedicated thread
Block SIGCHLD in all threads and spawn a dedicated thread that handles
the signal in a loop (via sigwait()). This avoids the issue that the
SIGCHLD could be handled in any of our threads and thus possibly
interrupt a syscall.

Fixes #10941.
2014-06-16 11:08:56 +02:00
Adrien Destugues
6563b11264 Add menu entry to save pages as MHTML.
Fixes #9570.
2014-06-16 10:12:50 +02:00
Adrien Destugues
9b738c321b don't notify when a finished download is removed.
* Actually stop the download when the target file is deleted
* Check the download state before sending a notification or changing the
progress bar color.

Fixes #10907.
2014-06-16 09:18:28 +02:00
Adrien Destugues
4f88977f9a Add a first test for BDateTime.
* We need to write more of those.
2014-06-16 08:49:36 +02:00
Adrien Destugues
dbd4f8c46b SetTime_t: Use the sign-fixed modulo we computed
* In C++03 and earlier, the sign of the modulo result is implementation
defined (this was fixed in C++11).
* Setting a negative time is not what we want here, so make sure we use
the proper value.
2014-06-16 08:46:56 +02:00
Rene Gollent
b36d838eb0 Debugger: Fix x86_gcc2 build. 2014-06-15 12:55:46 -04:00
Ingo Weinhold
f9f8a8f56e pkgman: Update some user messages 2014-06-15 17:21:02 +02:00
Ingo Weinhold
0b57c6338b BTransactionIssue::ToString(): Fix some strings 2014-06-15 17:21:02 +02:00
Ingo Weinhold
f2f19f110d BPackageManager: Support installing/updating local package files
* The Install() and Update() versions that take a const char* array
  now check whether a string looks like a path to a local package file.
  If so, they use that file instead of interpreting the string as a
  search string.
* Extend the repository hierarchy. There's now a LocalRepository base
  class from which InstalledRepository and the new MiscLocalRepository
  derive. The latter is instantiated once and collects all package files
  specified by path.
2014-06-15 17:21:01 +02:00
Ingo Weinhold
ea761a10d4 pkgman: Print issues from committing the transaction 2014-06-15 17:21:01 +02:00
Ingo Weinhold
eee422752c BPackageManager: Make BCommitTransactionResult available
* BFatalErrorException: Add commitTransactionResult property and
  respective constructor. In case committing the transaction failed,
  BPackageManager throws a BFatalErrorException with the result.
* BFatalErrorException::UserInteractionHandler: Pass
  BCommitTransactionResult to ProgressTransactionCommitted().
2014-06-15 17:21:01 +02:00
Ingo Weinhold
0de3219e33 package daemon: Rework error and issue propagation to client
* BDaemonClient: Move inner class BCommitTransactionResult to top level
  and make it public.
* BCommitTransactionResult:
  - Add a whole bunch of specific error code enum values. Such an error
    code is now the primary error, as opposed to before where we would
    mix status_t and enum value errors. There's a systemError property
    of type status_t which may provide additional information, though
    (depending on the primary error type).
  - Remove the errorMessage property. Due to mapping all errors to the
    specific error codes this is no longer necessary. Mixing such a
    message with another error description is also not very helpful when
    it comes to localization (still not supported, though).
  - Add several properties (paths, strings, error codes) that serve as
    arguments to the primary error and are used by FullErrorMessage().
  - Add issues property, a list of instances of new class
    BTransactionIssue. Those describe non-critical issues (e.g. failed
    update of a settings file) that occurred in the process of
    committing the transaction. Those issues should be presented to the
    user by the package management program.
* Exception: Adjust to transport the BCommitTransactionResult
  properties.
* CommitTransactionHandler, FsTransactions, Root, Volume: Adjust to
  BCommitTransactionResult/Exception changes.
* CommitTransactionHandler: Now requires a BCommitTransactionResult to
  which it adds the issues it encounters. The reply BMessage is no
  longer needed, though.
* Volume: Refactor common code from the three methods that use
  CommitTransactionHandler into new method _CommitTransaction.
2014-06-15 17:21:01 +02:00
Ingo Weinhold
6077cad882 BEntryOperationEngineBase::Entry: Add debug methods
Add GetPathOrName() and PathOrName() methods which try to get some kind
of usable path or at least a file name for the entry. Useful mainly for
debugging and error reporting cases.
2014-06-15 17:21:00 +02:00
Ingo Weinhold
9680cf0bce BEntryOperationEngineBase::Entry: Add node_ref+path c'tor 2014-06-15 17:21:00 +02:00
Rene Gollent
d44d8207a8 Debugger: Finish handling of missing debug information.
Add a listener interface for LoadImageDebugInfoJob that allows it to request
user assistance based on its current state. Adjust callers to pass in said
listener accordingly.

Implement the aforementioned listener interface in TeamDebugger, and use the
loading state handler roster to find the appropriate handler / handle the request.

This implements most of what's needed for #10138, the main piece still missing
is for the dwarf handler to detect whether the image in question comes from a package,
and if so, to offer to install the corresponding debug information package rather than
locating the file manually, assuming such a package exists.
2014-06-15 11:03:24 -04:00
Rene Gollent
331511009c Debugger: Start adding the groundwork for load state handlers.
Adds abstract class ImageDebugLoadingStateHandler which simply contains two
hooks, which allow one to a) ask it if it supports a handling a particular
type of loading state, and b) if so, ask it to attempt to handle that case,
given the passed in user interface object.

Also adds implementing subclass for DwarfImageDebugInfo, currently
intended primarily to handle the case of missing external debug information.
At present, this just supports prompting the user to find/install the file,
but eventually this will be extended to also support automatically installing
the corresponding debug information package, if applicable.

Finally, adds ImageDebugLoadingStateHandlerRoster, which acts as a front end
for matching up a given loading state with the appropriate handler.
2014-06-15 11:03:23 -04:00
Rene Gollent
d9e97187f5 Debugger: Add file prompt hook to UserInterface.
In some circumstances, it may be necessary to ask the user to locate a file
from the lower layers. Adds the corresponding hook to UserInterface, and a
stub implementation for CommandLineUserInterface.

Adds full implementation for GraphicalUserInterface.
2014-06-15 11:03:22 -04:00
Rene Gollent
7cab832956 Debugger: Add support for suspending LoadImageDebugInfoJob.
DwarfFile:
- Loading is now split into two steps, the first of which simply attempts to
verify the presence of debug information. If the latter is referenced
externally, but cannot be found on disk, the corresponding file reference is
returned.

TeamDebugInfo:
- Add state parameter to LoadImageDebugInfo(). Use it to preserve where we
are in the specific info loading loop if necessary.

SpecificTeamDebugInfo:
- Add parameter to CreateImageDebugInfo() to allow passing in a state object
and adjust implementing subclasses accordingly.

DwarfTeamDebugInfo:
- Preserve and/or pass down DwarfFile's loading state as needed.

DwarfManager:
- When attempting to load a DwarfFile, detect the case where external debug
  information is referenced, but could not be located. If so, preserve the
  relevant details in the loading state, so the user can be notified and
  asked to find it accordingly.

LoadImageDebugInfoJob:
- Keep a state object for the progress of the current loading job. If a
  particular image fails due to needing user input, suspend ourselves
  until such input has been provided.
2014-06-15 10:59:14 -04:00
Rene Gollent
a262768084 Debugger: Add classes for representing image loading state.
Adds a hierarchy of classes for preserving the loading state information for
a LoadImageDebugInfoJob. These include:
	- ImageDebugInfoLoadingState:
		Top level class that simply stores a reference for  the specific info
		state that we're currently attempting to load.

	- SpecificImageDebugInfoLoadingState:
		Abstract base class representing state information specific to a
		particular kind of debug information.

	- DwarfImageDebugInfoLoadingState:
		Implementation of the above for the case of DWARF.

	- DwarfFileLoadingState:
		Encapsulates the in-progress loading state of a DWARF file for the case
		where a file's debug information is referenced externally, but cannot
		be found.
2014-06-15 10:59:13 -04:00
Rene Gollent
4605febacf Debugger: Add/handle new suspend state for jobs.
- In addition to waiting for one or more dependent jobs to complete,
a job can now potentially wait for user input to proceed further. Add
a corresponding job_wait_status and respective handling in Worker.
2014-06-15 10:59:13 -04:00
PulkoMandy
004f41565e Apply fix suggested by Ingo
* Fix mixup of HAIKU_IMAGE vs HAIKU_IMAGE_NAME
* Use $(1) and $(2) instead of $(<) and $(>)
* Remove useless count parameter to dd
2014-06-15 14:59:01 +02:00
John Scipione
0546bdd5e5 Tracker: code simplication to hrev47374
We don't need to create a BNode from a BDirectory because BDirectory derives
from BNode! So use the BDirectory we already have as a BNode and get the
node_ref from it so we can pass it into WatchNode().

Sorry for the noise.
2014-06-14 21:19:42 -04:00
Cedric Degea
076cb5a752 BOptionPopUp: check for non-NULL Message(). Fixes #10733
Signed-off-by: John Scipione <jscipione@gmail.com>
2014-06-14 20:50:10 -04:00
John Scipione
1f17f750db Tracker: Use BPathFinder to find add-ons 2014-06-14 20:48:15 -04:00
John Scipione
6cf062b93d Tracker: Style fixes to DeskWindow 2014-06-14 16:21:05 -04:00
Jessica Hamilton
00922c9989 Tracker: fix accidental logic inversion. Fixes #10940. 2014-06-15 05:30:21 +12:00
John Scipione
1f424632be Style fixes to IK, focus on docs 2014-06-13 17:27:01 -04:00
PulkoMandy
4a2260f21a Let the bootloader know about ARMv7.
When an ARMv7 CPU is detected, immediately turn on the FPU. This allows
us to use vsnprintf in the TRACE call in that function, as our libc is
compiled with floating point support and will trigger a fault if the FPU
is not available.

This lets the boot go further, and crash in mmu_init. Next steps:
* Find why mmu_init is crashing
* Setup some fault handlers, otherwise we call uboot ones, and they are
not very helpful. They will also probably not work once the mmu is
enabledvery helpful. They will also probably not work once the mmu is
enabledvery helpful. They will also probably not work once the mmu is
enabled...
2014-06-13 22:15:54 +02:00
PulkoMandy
afe56d3ab3 Load uImage higher so it doesn't overwrite itself
Loading of haiku_loader from an uImage is a 2-step process:

* First, the uImage is loaded (in our case from SD card using fatload)
to RAM at a temporary address.
* Then (using bootm), it is unpacked. The uImage is a container format
and can hold several files, with a load and execution address. The files
are copied from the uImage to their final location, and it's better if
that doesn't overlap with the uImage content

When this loading is done, bootm jumps to the entry point found in the
uImage.

We now actually execute our code from haiku_loader. This crashes with
the following call stack:
* vsnprintf
* dprintf
* boot_arch_cpu_init
* cpu_init

It seems vsnprintf is trying to use VFP instructions (probably from the
libgcc) but that triggers some kind of fault, and the handler (setup by
uboot?) ends up crashing the system by jumping to unmapped memory at 0.
2014-06-13 20:26:51 +02:00
John Scipione
2a6a3109e5 shortcut_catcher: tiny style fix 2014-06-13 12:52:49 -04:00
PulkoMandy
3d6edc43d9 Patch by dnivra (GSoC 2014, ARM suppport)
* Cleanup the SD card image building to allow jam -q @bootstrap-mmc to
work.

There are a few remaining tricks before you can safely build an image:
* This uses a non-POSIX du option, and is only tested with Linux du
only (Linux is the only supported system to run bootstrap builds,
anyway)
* The Python recipe in haikuports.cross is known to not build on
Debian/Ubuntu, but work fine on OpenSuse. There is a patch available in
haikuports bugtracker to allow the reverse.
* You need to populate the haikuports repo package list with some
packages (which don't exist yet) to make the build system happy. But our
git hook to generate the repositories is preventnig me to share this
hack.

Once built, the image currently crashes early in the kernel execution.
On to debug that!
2014-06-13 17:22:48 +02:00
Jérôme Duval
b64f1a9768 tiff: drop sources and headers from the source tree
* also drop jpeg and png headers
2014-06-13 15:52:11 +02:00
John Scipione
f1e2e389be shortcut_catcher: rename a couple variables
Fix build, msg => message

Fix warning use int32, not uint32

Also do a bit of refactoring.
2014-06-13 00:25:09 -04:00
John Scipione
78daf289c3 shortcut_catcher: A few 80 char limit fixes 2014-06-13 00:17:13 -04:00
Jessica Hamilton
d2da54dee2 Shortcuts: use BPathFinder instead of find_directory. Fixes #9958.
* Previously, BPath::Append() would return an empty path if the
  path didn't exist (and an error); in a nightly image, the
  B_USER_ADDONS_DIRECTORY didn't exist, triggering the bug.
* Replaced the code with calls to BPathFinder instead, which takes
  care of the empty path automatically.
2014-06-13 15:46:37 +12:00
John Scipione
abca6dabb6 Revert "shortcut_catcher: Fix KeyCommandMap::_DeleteHKSList()"
This reverts commit cb3243fbbd.

Sorry, this might do bad things.
2014-06-12 19:36:56 -04:00
John Scipione
1ecf19b82f shortcut_catcher: style overhaul 2014-06-12 19:25:03 -04:00
John Scipione
cb3243fbbd shortcut_catcher: Fix KeyCommandMap::_DeleteHKSList()
You can't increment the list item counter as you delete because the count
decreases as you go. Instead delete the first item until there are no more
items, then delete the list.
2014-06-12 18:45:36 -04:00
John Scipione
2776568d27 Fix BHandler::GetSupportedSuites()
The logic was reversed accidentally in hrev47355

Rewrite the method to make more sense. If data is NULL return
B_BAD_VALUE right away. Otherwise set the status based on the first
operation, if that succeeds perform a second one, and return the
result.

Fixes CID 1222666
2014-06-12 13:57:05 -04:00
John Scipione
219bf21ef6 Style fixes to Locale Kit, focus on docs. 2014-06-11 16:48:02 -04:00
John Scipione
37fedaf849 Style fixes to the Game Kit, focus on docs 2014-06-11 16:44:48 -04:00
John Scipione
be902ac4db App Kit: style changes.
No functional change intended.

Focused on documented classes only.

* Update copyright information.
* whitespace fixes.
* pointer style
* Rename some variables, msg => message, form => what
* Need consistent variable names to make documentation easier,
  allows us to use \copydoc or \copydetails instead of repeating
  ourselves over and over again.
2014-06-11 16:24:02 -04:00
Adrien Destugues
151ef32f45 Fix more of the cookie test following API changes. 2014-06-11 21:59:04 +02:00
Adrien Destugues
6765a83b15 Fix cookie tests for API changes. 2014-06-11 19:27:33 +02:00
Adrien Destugues
895fa41e0b Make handling of Http Authentication thread safe
* Each BHttpAuthentication object is locked on all field accesses,
* They are owned by the BUrlContext and never deleted, so there is no
need for reference-counting them,
* The BUrlContext itself is now reference counted, and all BUrlRequests
hold a reference to it.

This makes sure using the BHttpAuthentication objects from requests is
thread-safe.
2014-06-11 14:11:01 +02:00
Adrien Destugues
463ffbfde4 First steps towards cookie jar thread-safety
* Change the semantics of the iterators copy constructor and assignment
operator: they now return a new iterator for the same cookie jar (and
same url for the UrlIterator). They don't try to point to the same
position as the copied iterator. The only purpose of these is to write
code such as:

Iterator it = jar.GetIterator();

so having a full copy isn't that useful.

* The per-domain cookie lists are now protected with a read-write lock.
The iterators retain a read lock while they are handling cookies from
that list. They get a write lock when doing Remove. Adding a cookie to
the jar also gets the write lock for the matching list

* Fix a memory leak when adding a new domain-list to the jar failed

* Simplify the declaration of the PrivateHashMap type (it would be
even simpler if HashMap was a public API)

* The domain hashmap is now a SynchronizedHashMap. It is locked as long
as an Iterator or UrlIterator exists, which may be a problem as these
are public APIs. Writing safe iterators for an hashmap with concurrent
accesses is not easy, so the API could be modified to return a list of
domains and a list of cookies for a given domain or URL instead. This
would suit the intended uses just as well.

* The jar now store const cookies, so there is no need to lock them for
access/modification. Updating a cookie is done by replacing it with
another one in the jar (with the same domain and value). There is still
the problem of deleting a cookie while other threads may still access
it, this will be fixed by making cookies BReferenceable.
2014-06-11 12:59:33 +02:00
Oliver Tappe
9aec6561a8 More build fixes of unittests, this time for x86_64. 2014-06-11 12:44:39 +02:00
Oliver Tappe
77aa0e2a5e Fix build of unit-tests with gcc4. 2014-06-11 11:43:12 +02:00
Oliver Tappe
bab4c96c5c Fix build problems of makeudfimage with gcc4.
* _ALLOCATOR_H clashes with a std-include provided by gcc.
* add using declaration for std::list.
2014-06-11 11:42:41 +02:00
Axel Dörfler
bc4db40c40 AHCI: use a minimum of 1 block for trim ranges.
* Word 105 of ATA IDENTIFY should contain the maximum number of block
  ranges the device supports, but it always supports at least a single
  one.
* This change lets the trim command do something on Virtual Box.
2014-06-11 00:56:09 +02:00
Adrien Destugues
0256e7a458 Disable the MIME type test.
* This tests requires some private APIs which have been changed, it
needs to be rewritten.
* I'm also not sure if it's still possible to work on a copy of the MIME
* database to avoid messing with the system one.
2014-06-10 10:10:30 +02:00
Adrien Destugues
182a5f8e53 Disable test for TranslatorResoter::Version
* The method was made private and deprecated, so there is no way to
compile code calling it directly.
2014-06-10 10:09:13 +02:00
Adrien Destugues
64e8975369 ResourcesTest: fix build.
* There are several SetTo methods, specify the one we want to test.
2014-06-10 10:08:34 +02:00
John Scipione
888f72ca9a Tracker: close Desktop window on switch to spatial mode
If you have the Desktop window open when you switch to spatial
mode this will now close the window. You aren't allowed to have
the Desktop open in 2 places symultaneously in spatial mode.
2014-06-10 00:59:50 -04:00
John Scipione
646b1fe1e8 Tracker: Open Desktop folder in own window in browser mode.
... in a few more cases.

If you are in spatial mode and you double-click on the Desktop folder
it activates the Desktop putting all other Tracker windows in the
background.

If you are in browser mode and you double-click on the Desktop folder
it opens the Desktop folder in the current window.

If you issue 'open ~/Desktop' from Terminal or if you have Expander set
to open the expanded folder and you expand something on the Desktop
it won't open the Desktop folder in its own window in either spatial or
browser mode.

This patch alters Trackers behavior to  open the Desktop folder in its own
window in these cases when you are in browser mode.

One might argue (as a few have on IRC) that this behavior should also
happen in spatial mode, but, this patch does not alter the behavior of
spatial mode. In spatial mode opening the Desktop folder with
'open ~/Desktop' or extracting a zip file with Expander on the Desktop
simply activates the Desktop pushing all other Tracker windows into the
background state.

Fixes #10929
2014-06-10 00:57:33 -04:00
John Scipione
157e4b428a Tracker: Replace max_c() with std::max() 2014-06-10 00:36:11 -04:00
John Scipione
9437e677ba Tracker: Style fixes 2014-06-10 00:36:10 -04:00
John Scipione
12bd3f0452 Expander: Replace min_c() and max_c()
...with std::min() and std::max()
2014-06-09 15:56:39 -04:00
John Scipione
be931d0706 Expander: Check asprintf() return value 2014-06-09 15:56:27 -04:00
John Scipione
122abe4315 Expander: Check Window()->Lock() return value 2014-06-09 15:56:26 -04:00
John Scipione
1e35cfaea2 Expander: replace string manip with asprintf() 2014-06-09 15:56:26 -04:00
John Scipione
e326cef620 Expander: style fixes, no functional change intended 2014-06-09 15:56:25 -04:00
Jérôme Duval
d64267ffb2 vfs: checks whether the mount's unmounting flag is already set.
* thanks to Ingo for suggesting the idea, quoting him:
"by holding sVnodeLock read-locked, get_mount() ensures that fs_unmount() can't
process the nodes. If it is already past that point, the root node check
(not NULL, not busy, ref count > 0) is supposed to detect that. But it doesn't
look like this can work. fs_unmount() doesn't set the root node to NULL (the
root node field is NULL only during a short period in fs_mount()), but it just
frees the nodes after releasing sVnodeLock. So the not busy and ref count > 0
checks could already access freed memory".
* tested OK, this fixes #10522.
* replaced mount->root_vnode by the local variable with the same value.
2014-06-09 21:45:28 +02:00
Fredrik Holmqvist
ec10d307d0 Really fix gcc4 build.
Here I come to save the day!!
2014-06-09 21:07:29 +02:00
Adrien Destugues
942cf5fdbc Fix gcc4 build. 2014-06-09 18:21:42 +02:00
Adrien Destugues
d306340b66 Don't include number_format tests
* The class isn't currently included in Haiku
* Test test only checks that the constructor doesn't crash, which isn't
very helpful anyway
2014-06-09 17:24:28 +02:00
Adrien Destugues
9570413d2a Fix name conflict between two tests
* There is a SimpleTest in AlertTest.cpp, and an UnitTest in
balert/AlertTest.cpp. They ended up with the same grist as they are
built from the same jamfile. Rename one of them to avoid this.
2014-06-09 17:18:13 +02:00
Adrien Destugues
913e376500 Match linked list tests with the current API. 2014-06-09 17:09:23 +02:00
Adrien Destugues
49a6a0ebf3 Fix build of makeudfimage tests.
* The Udf namespace was removed from the headers, but not all the
implementation files
* kernel_cpp.h is not actually used
* TRACE_ERROR can't be set to dprintf when building as part of the test
(and not as a kernel add-on)

First step on the way to get jam -q unittests to work again...
2014-06-09 16:06:00 +02:00
Adrien Destugues
080f5d5f5d ProtocolListener test: fix build.
* I'm not sure what this is supposed to test...
2014-06-09 14:42:22 +02:00
Adrien Destugues
0e79d0efbc Disable tracing unless built in debug mode. 2014-06-09 14:12:56 +02:00
Adrien Destugues
3af9a2cac2 Make HttpRequest tests use the test framework
* Use httpbin.org as a server, rather than a local machine.
* Also add an HTTPS version
2014-06-09 14:11:15 +02:00
Adrien Destugues
f38d4d4510 Rename url directory to "service"
* All "services kit" tests will move there.
2014-06-09 11:18:00 +02:00
Adrien Destugues
1cbab031fd More relaxing of cookie-setting rules
* Allow non-secure page to set (but not read) secure cookies
* Allow pages to set cookies for subdomains (but not access them)
2014-06-09 11:17:49 +02:00
Adrien Destugues
d888718621 HttpTime: don't try to parse timezone
* Cookies sometimes come with the UTC timezone, or no tz info at all.
* No other timezone seems to be used

This allows better matching of cookies which would otherwise be kept
only as session cookies.
2014-06-09 11:10:19 +02:00
Adrien Destugues
744bfa6270 Convert existing cookie test to test framework
* The remaining stress-test is a benchmark, and has no success/failure
result. Leave it this way for now.
2014-06-09 11:08:16 +02:00
Adrien Destugues
f7e7eeba4a Limit cookie value size to 4096 bytes.
Too big cookies will make most web servers reject requests.
2014-06-09 08:50:29 +02:00
Stefano Ceccherini
056b2e33e5 ifconfig: fail with a warning if called on a non-existent interface. 2014-06-08 18:59:00 +02:00
Jessica Hamilton
a0b864f0e4 BString: fix possible infinite loop in _DoReplace 2014-06-08 04:37:16 +12:00
Jessica Hamilton
5700f5fcc3 libroot.so: update glibc's e_pow.S on x86. Fixes #9962 2014-06-07 09:33:15 +12:00
John Scipione
5fe7d79d30 Terminal: Fix crash when changing window size
... try 2 without a spurious \

sorry for the noise.

From the commits list (Ingo) <<-EOF

> Terminal crashes because fView is not connected to App Server when
> this is called so calling fView->GetMouse() is not allowed.

The interesting questions therefore are:

1) Why is the view not attached?
2) Why is it in the hyper link state?

1) is because the BTabView removes the non-selected tabs instead of just
   hiding them.

The reason for 2) is that the tab was opened with Cmd+T (the bug is not
reproducible when the tab is opened via menu item). Pressing Cmd causes
hyper link state to be entered and switching to the new tab will leave
the view in that state due to 1).

Possible solutions:

* TermView::_VisibleTextBufferChanged(): Call state hook only when attached
  to window. All other occurrences are safe as they are in BView hooks.

* Leave the hyper link state when the view is detached from the window. A
  new dummy state could be active as long as the view is not attached, though
  using DefaultState would be harmless as well.

EOF

I chose solution 2 using DefaultState rather than creating a new dummy state.

Thanks Ingo.

Fixes #10902
2014-06-06 15:28:36 -04:00
John Scipione
0bdf33686c Revert "Terminal: Fix crash when changing window size."
This reverts commit d3657dc2bc.
2014-06-06 15:27:20 -04:00
John Scipione
d3657dc2bc Terminal: Fix crash when changing window size.
From the commits list (Ingo) <<-EOF

> Terminal crashes because fView is not connected to App Server when
> this is called so calling fView->GetMouse() is not allowed.

The interesting questions therefore are:

1) Why is the view not attached?
2) Why is it in the hyper link state?

1) is because the BTabView removes the non-selected tabs instead of just
   hiding them.

The reason for 2) is that the tab was opened with Cmd+T (the bug is not
reproducible when the tab is opened via menu item). Pressing Cmd causes
hyper link state to be entered and switching to the new tab will leave
the view in that state due to 1).

Possible solutions:

* TermView::_VisibleTextBufferChanged(): Call state hook only when attached
  to window. All other occurrences are safe as they are in BView hooks.

* Leave the hyper link state when the view is detached from the window. A
  new dummy state could be active as long as the view is not attached, though
  using DefaultState would be harmless as well.

EOF

I chose solution 2 using DefaultState rather than creating a new dummy state.

Thanks Ingo.

Fixes #10902
2014-06-06 15:14:15 -04:00
Adrien Destugues
cb7d1c5ecd Add some more tests for cookies
Also derived from Opera test suite.
* Fix nbsp instead of space in some tests (I shouldn't have copypasted
these...)
* Add most of the advanced tests from Opera. This exposed several bugs
in the cookie code (all fixed) as well as strptime and strtol (tickets
opened)
* All the cookie2 tests are skipped. I didn't find any use of it on the
internets, so it doesn't seem useful to implement it.
* The last two tests sets are still missing. I'll add them next week.
2014-06-06 18:42:11 +02:00
Adrien Destugues
550f5b1c95 Fix some issues detected by the testsuite
* An empty "expires" field results in a session cookie, rather than
rejecting the cookie altogether
* A page can set a cookie it is not allowed to access (for example in a
subdirectory of where the page is located). Separate IsValidForUrl and
_CanBeSetFromUrl to perform the appropriate checks in each case.
* Limit cookie path to 4096 characters. As a result of the previous
change, a page would be allowed to set a cookie with an aribrarily long
subpath, wasting disk space and RAM by growing hte cookie jar.
* Don't allow path with . or .. elements. These are a source of
confusion and are not needed.
* Reset the cookie fields when parsing failed. This does not matter when
using the cookie jar, but is useful when working directly with
BNetworkCookie.
2014-06-06 16:53:50 +02:00
Adrien Destugues
fed9b96e26 Better handling of parse errors in HttpTime
strptime can return non-NULL values even if it only parsed part of the
string. This was sometimes making us use the wrong format. Now we try
all formats and checks how much of the string strptime managed to parse.
We stop when it has parsed a big enough part of it.
2014-06-06 16:49:11 +02:00
Adrien Destugues
6ac7ba848b Sort cookies by path length (longest first)
* This makes sure the most specific cookies are sent first, matching
what other browsers do.
2014-06-06 16:48:15 +02:00
Adrien Destugues
4e14963b73 CID 1108421: BUrl constructor missing initializers. 2014-06-06 08:04:16 +02:00
Stephan Aßmus
5eba63a680 UrlContext: Improved comment 2014-06-06 00:23:47 +02:00
Stephan Aßmus
cb1a99c5f0 HttpHeaders: Small code refactorings
Also check BList::Add() for success when adding a BHttpHeader.
2014-06-06 00:23:47 +02:00
Stephan Aßmus
79852c5551 HttpHeaders: Check assigning self in operator=() 2014-06-06 00:23:46 +02:00
John Scipione
7a214200ed Revert "TermViewStates: Check if fView is NULL before using it."
This reverts commit b84955c738.
2014-06-05 18:02:44 -04:00
John Scipione
4bf5fb9252 Revert "Fix #10902 Terminal crashes setting window size."
This reverts commit 4c8d238716.
2014-06-05 18:02:33 -04:00
John Scipione
5443e035e8 DiskUsage: Open file/folder on cmd-click, zoom on regular click. 2014-06-05 17:55:42 -04:00
John Scipione
eef00544a4 DiskUsage: Style fixes. 2014-06-05 17:52:00 -04:00
John Scipione
4c8d238716 Fix #10902 Terminal crashes setting window size.
Terminal crashes because fView is not connected to App Server when
this is called so calling fView->GetMouse() is not allowed. We could
perhaps check to make sure that fView is connected to App Server by
checking that fView->Window() != NULL, but, a better way to handle this
is to grab the already set fLastClickPoint variable from fView
which eliminates the need to grab the current mouse position again.
Worst case scenario is that fLastClickPoint hasn't been set in which
case Terminal won't find anything to highlight or unhighlight.

Also check to make sure that fView != NULL here for good measure.

Fixes #10902
2014-06-05 16:19:58 -04:00
John Scipione
b84955c738 TermViewStates: Check if fView is NULL before using it. 2014-06-05 16:19:24 -04:00
John Scipione
da80e3d9e2 TermViewStates: Style fixes 2014-06-05 16:19:24 -04:00
Stephan Aßmus
16b8886a59 HttpAuthentication: Check LockBuffer() success...
... in _H() MD5 digest method. Thanks to axeld
for the suggestion.
2014-06-05 21:43:35 +02:00
Adrien Destugues
295a23a4e3 Add some tests for cookies.
* Mostly extracted from Opera cookie testsuite.
* Shows one bug with parsing expiration date of cookies in
ExpirationTest.
2014-06-05 19:29:11 +02:00
Stephan Aßmus
258817720c HttpAuthentication: improvements and fixes
* BString::CopyInfo() takes length as second
   parameter, not the end-offset. This bug didn't
   have any effect, since BString clamps the length.
 * ',' is a comma, ':' is a colon.
 * When parsing "additionalData" in the loop for
   name=value pairs, an empty name is not useful,
   continue the loop early.
 * "value" may have the length 0, accessing it
   with value[0] would not lead to an access violation,
   since it just reads the terminating zero (I think),
   but it's nicer if the code makes it clear that
   value being empty is considered.
 * _H() was using a static buffer, in a heavily
   multi-threaded situation. I don't think this was
   healthy.
 * Implement the proposed optimization of using
   BString::LockBuffer(). Appending one char at a time
   is really bad for peformance. The Base64 encoding/decoding
   should really be rewritten as well for similar reasons.
2014-06-05 00:01:13 +02:00
John Scipione
daabbbe5f9 BRegion: Style fix, update parameter name
No functional change.

Trying to indentify each kind of object uniquely and consistently.

... update docs as well.
2014-06-04 11:58:07 -04:00
Adrien Destugues
cd805f6793 Remove some redundant fields
These were getting out of sync and causing trouble, and they are easy to
compute from existing information.

Fixes some problems detected by the testsuite where the user/password or
the host would sometime disappear from the URL.
2014-06-04 11:56:23 +02:00
Adrien Destugues
3fd76758ed Add some tests derived from Ruby Addressable
They have a very complete testsuite, but not all of it is relevant to
us. Pick some of the interesting tests for now.
2014-06-04 11:36:09 +02:00
Adrien Destugues
b5bde4ad81 Fix bugs identified by the testsuites
* Handle resolving . and .. in path properly
* Make the subtle distinction between empty and unset for the authority,
fragment and query.
2014-06-04 10:36:10 +02:00
Adrien Destugues
e29e0a0d2a Fix Url relative constructor.
Actually get the query from the base URL.
2014-06-04 08:22:13 +02:00
John Scipione
44cee34013 BRegion: Style updates for documentation.
No functional changes intended.

* Updated copyright information.
* Reduced doxygen documentation down to a helpful summary
  in a regular comment, the documentation has been moved into
  the Haiku Book.
* Some parameter renaming for consistency and clarity.
* A few other style fixes.
2014-06-03 20:26:45 -04:00
Axel Dörfler
c1400fb617 intel_extreme: use VESA EDID info as fallback.
* Only in case retrieving EDID info failed on head A and C.
* Should help with detecting the native resolution for ticket #10878.
2014-06-04 01:02:40 +02:00
Axel Dörfler
5336a8d11e intel_extreme: fixed warnings.
* And also most coding style violations.
2014-06-04 01:02:39 +02:00
Axel Dörfler
0ed0765067 create_display_modes: added missing 1600x900.
* Might help with #10878.
* 1366x768 was at the wrong spot.
2014-06-04 00:23:38 +02:00
Adrien Destugues
0013f47d3f Import tests from http://skew.org/uri/uri%5Ftests.html
This shows there are some problems with BUrl, still.
CppUnit stops at the first failed assert in each test, which doesn't
give a good overview of the number of failures in this case (the first
subtest fails). A possible solution is splitting this into smaller
subsets.
2014-06-03 17:10:29 +02:00
Adrien Destugues
68c13f94fb Convert BUrl tests to the UnitTester framework. 2014-06-03 13:34:35 +02:00
Jessica Hamilton
01fbdbab83 xsi_semaphore: use MemoryDeleter instead of multiple free() 2014-06-03 13:38:04 +12:00
Jérôme Duval
9cd7c6a433 tiff: use the outsourced packages.
* packages for secondary architectures would be welcomed.
2014-06-02 23:45:19 +02:00
Jérôme Duval
da76d8da0c wget: remove 2014-06-02 23:25:12 +02:00
Oliver Tappe
d527dbc8f6 Avoid unwanted output of <build>unzip with DEBUG=1. 2014-06-02 02:00:29 +02:00
Oliver Tappe
1a7bcf6962 Lots of B_PRI... insertions to fix errors with DEBUG=1. 2014-06-02 02:00:28 +02:00
Jérôme Duval
1ee3031a90 wget: use the outsourced packages.
* remove wget Jamfile from the build.
2014-06-02 00:06:31 +02:00
Jérôme Duval
f196b1a662 hda: add snoop quirk for a few other pci ids.
* based on alsa.
2014-06-01 16:21:08 +02:00
Murai Takashi
45e3a5edae hda: Add Baytrail HDA controller
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2014-06-01 16:21:08 +02:00
John Scipione
532c873311 BRect: Replace max_c() and min_c() with std::max() and std::min() 2014-05-30 19:46:30 -04:00
John Scipione
1f46fc6d52 BRect: Style fixes for documentation 2014-05-30 19:31:10 -04:00
Jérôme Duval
735f58f3e4 xhci: build fix 2014-05-30 16:28:40 +02:00
Jessica Hamilton
fad4fc59f9 Revert "ByteOrder.h: remove use of __builtin_bswap16."
This reverts commit 040dc2eebc.
2014-05-30 20:39:43 +12:00
Paweł Dziepak
b20eb413cd kernel/x86_64: help gcc with devirtualization
This patch gets rid of some indirect calls in the paging code.
2014-05-30 02:11:05 +02:00
Paweł Dziepak
fb010e297f kernel/x86_64: use C++11 atomics in X86PagingMethod64Bit 2014-05-30 00:23:49 +02:00
Paweł Dziepak
91e7f347f9 kernel/x86_64: try to inline physical page mapper functions
The way we handle paging is very wasteful and relies heavily on virtual
funcions even if there is absolutely no reason to do so. The proper
solution would be to do a major rework of paging code (including
arch-independent parts).

On x86_64 physical page mapper is very simple what makes the overhead
resulting from the desing of paging interface very expensive. This
patch attempts to make things a bit better by helping GCC with
devirtualization and allowing inlining physical page mapper impementation
(well, only when it is devirtualized).
2014-05-29 23:41:46 +02:00
Jessica Hamilton
040dc2eebc ByteOrder.h: remove use of __builtin_bswap16.
* Fixes the build for host compilers older than gcc-4.8
2014-05-30 08:45:57 +12:00
Puck Meerburg
d0592a1164 Fix Coverity bug 605892: Resource leak
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2014-05-30 08:45:56 +12:00
Michał Siejak
679ad262e9 haiku_loader now ignores unusable drives reported by BIOS.
This fixes the problem with find_unique_check_sums() taking a very long
time to complete when one or more drives report read errors.

Fixes #10880.

[Paweł: minor style issue]
Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>
2014-05-29 22:32:15 +02:00
Jessica Hamilton
44ec21c3ff ByteOrder.h: simplify compiler test
* A problem with our gcc requires adding casts for gcc4 when
  the __builtin_bswap functions are used with a format string
* Unlike gcc2, the __builtin_bswap functions do not get disabled
  despite using -fno-builtins, hence added compiler check in
  runtime_loader/utility.cpp
2014-05-30 00:15:38 +12:00
Michał Siejak
221ea8a17e Updated FreeBSD rtl81xx network driver with the 10.0 release.
Should fix #10412.

Signed-off-by: Pawel Dziepak <pdziepak@quarnos.org>
2014-05-29 13:45:16 +02:00
Stephan Aßmus
c3a07a5aed PackageInstaller: Added -v/--verbose option
It enables just a few printf()s in PackageItem.cpp.
I went with a quick solution using a global variable
instead of using/writing some nice logging framework which
could even generate install logs... but it helps in tracking
down some package problems without first having to uncomment
some printf()s...
2014-05-28 23:04:41 +02:00
Stephan Aßmus
ecf119cc17 PackageInstaller: Fix Paladin installation
... and perhaps more packages build for pre-PM Haiku.
 * Restore the original path rewriting of "/boot/system"
   alongside rewriting "/boot/beos/system".
 * Rewrite "/boot/apps" in install scripts. This one fits
   the existing TODO that the rewriting should not use
   hard-coded replacement paths.
 * Fixes ticket #10875
2014-05-28 22:40:59 +02:00
John Scipione
8ad6baf789 BButton style fixes for docs.
No functional change intended.
2014-05-28 14:21:06 -04:00
John Scipione
b29d84a85a BRadioButton style fixes for docs. 2014-05-28 14:10:35 -04:00
John Scipione
7ad8e674de BCheckBox: Style fixes, variable renaming for consistency, docs.
Also some other style fixes, no functional changes intended.
2014-05-28 14:06:32 -04:00
John Scipione
092e3093c3 BControl: Style fixes, variable renaming for consistency, docs.
Also some other style fixes, no functional changes intended.
2014-05-28 14:05:22 -04:00
John Scipione
f4870e1cf4 BView: Rename parameters for consistency, docs.
No functional change.
2014-05-28 12:11:57 -04:00
Alexander von Gluck IV
99f83552ca radeon_hd: Fix comment typo, no functional change 2014-05-26 22:35:36 -05:00
Alexander von Gluck IV
e938ebdae0 radeon_hd: Rework PLL picking code
* Rewrote to be more efficient and more accurate.
* Fix a DP bug where we didn't choose the correct
  external PLL.
2014-05-26 22:26:24 -05:00
Adrien Destugues
36764b4001 AlphaMask: add missing error check.
It's possible to allocate the bitmap object, then fail allocating the
bits. The WebKit testsuite is a way to trigger this, and it crashed
app_server.
2014-05-26 17:28:51 +02:00
Adrien Destugues
a4a2abe0d9 Test case for pixel alignment on transforms.
Transforming an aligned rectangle shifts it up and left by 0.5 pixels.
2014-05-26 10:06:42 +02:00
Adrien Destugues
549314746b BookmarkBar: style fixes and some error checking.
Thanks to axel for reviewing.
2014-05-26 09:13:46 +02:00
Axel Dörfler
6ed2992fb6 scheduling_recorder: fixed spelling. 2014-05-26 01:10:31 +02:00
Alexander von Gluck IV
4bb543e517 radeon_hd: Add in a bunch of missing Trinity/Richland ID's
* Add market name to a bunch of Kabini, Mullins cards
  after some creative web searches
2014-05-25 12:03:35 -05:00
Alexander von Gluck IV
e321d716e4 radeon_hd: Add latest generation radeon_hd cards
* These aren't tested, but since we go off of DCE
  versions for a lot of stuff, they may work.
* AMD doens't include market names in their drivers
  anymore, so if we want to label them it will take
  additional work.
2014-05-25 09:03:03 -05:00
Alexander von Gluck IV
75dcf02ac8 radeon_hd: Add PCIID for Radeon HD 3430
* Should resolve #10791
2014-05-24 21:54:54 -05:00
Alexander von Gluck IV
38ec158d2a radeon_hd: Cleanup atombios parser types
* pptable.h now 100% stock
* atombios.h now 99% stock
* Resolves issues with radeon_hd on x86_64 by
  making atombios structs match OS typedefs
* Resolves #10614
2014-05-24 21:05:03 -05:00
Alexander von Gluck IV
bc73719d2f radeon_hd: Add some additional APU's, should resolve #10606 2014-05-24 16:49:03 -05:00
Alexander von Gluck IV
a8307efa46 radeon_hd: Improve pll probing. Let probe calls enable ss 2014-05-24 16:49:03 -05:00
Oliver Tappe
6b6ff33d60 Fix zlib-dependency in libnetapi.
* Fix copy-'n'paste bug that resulted in the zlib.h dependency being
  added to no source file at all.
2014-05-24 20:26:41 +02:00
Oliver Tappe
06ed405803 Fix zlib-dependencies of (boot & standard) packagefs.
* Some files that depend on zlib.h weren't declared as such, which
  could cause multijob builds to fail.
2014-05-24 20:26:41 +02:00
Jessica Hamilton
bfb8caf10f Fix the build. Introduced in hrev47248. 2014-05-24 13:25:51 +12:00
Stephan Aßmus
d30a0a6eae app_sever: Fix more mixups of transformed clipping bounds 2014-05-23 21:03:33 +02:00
Stephan Aßmus
81507fa496 app_server: Fix transformed DrawString()...
...when the transformation moves the text into the view bounds. The
rect returned from Painter::BoundingBox() is already transformed, as
should be expected.
2014-05-23 20:52:14 +02:00
Stephan Aßmus
ae4fa7ce39 Transformation test: Refactored duplicated code. 2014-05-23 20:44:51 +02:00
Stephan Aßmus
bfb2fd4153 HaikuDepot: Cleanup JSON string builder. 2014-05-23 20:29:43 +02:00
Adrien Destugues
5e36a367d7 Convert strdup.c to C++. 2014-05-23 18:30:26 +02:00
Adrien Destugues
5710ad967d Move overflowing items from bookmark bar to a menu.
Since the bookmark bar can now be resized smaller than the space needed
for the items, move items that don't fit in it to a menu, which is
always the last item in the BMenuBar.
2014-05-23 17:54:30 +02:00
Adrien Destugues
6f79af3c55 Web+: move BookmarbKar to own file.
It's a bit long for an inline class, and I'm going to add more stuff to
it.
2014-05-23 15:38:10 +02:00
Adrien Destugues
b6c34f4c44 Add a transform test for DrawString with offsets
* The text is not drawn at all when some transforms are used.
2014-05-23 15:07:19 +02:00
Axel Dörfler
59750213e7 usb: fixed potential crash.
* The active interface may be null. This actually happens with a Lasmex
  USB speaker in case it is turned on.
2014-05-22 18:34:23 +02:00
Axel Dörfler
1152f83ddc usb: coding style cleanup.
* Removed a few superfluous comments, too.
2014-05-22 18:33:26 +02:00
Axel Dörfler
ee6a0b91b2 FAT: minor style cleanup. 2014-05-22 16:12:37 +02:00
Axel Dörfler
257739f2d4 FAT: improved last fix.
* Don't use filename at all, since it's not clear if puni has already
  been set at this point.
* Also, fixed warning *vnid is ino_t, not a pointer.
2014-05-22 16:09:34 +02:00
Axel Dörfler
e2e54a381b FAT: Fixed some dirent pointer access issues.
* Fixed #9806 which Ingo had analyzed perfectly, but then forgot to
  fix it.
* Fixed CID 603015.
2014-05-22 15:58:37 +02:00
Jessica Hamilton
549fcbf51a Don't delete session objects...
... disc->GetSession() doesn't allocate a new object, so delete
will cause problems later on.
2014-05-22 19:38:55 +12:00
Jessica Hamilton
d1c05d9b22 Revert "Partitioning system: avoid leakage of resource"
This reverts commit f6bd30f2af.
2014-05-22 19:35:48 +12:00
Jessica Hamilton
2e454dffc2 Revert "Fix coding style violation"
This reverts commit 00e081a1ec.
2014-05-22 19:35:36 +12:00
John Scipione
b955a4ca6b BPolygon: Style fixes for documentation. 2014-05-21 16:12:47 -04:00
Stephan Aßmus
82d885a82b app_server: Fix another problem with transformed bitmaps...
... the view rect was clipped to the view bounds in
_DrawBitmapGeneric32(), which is incorrect when affine
transformations are used.
2014-05-21 21:26:38 +02:00
Stephan Aßmus
b944cf31b1 app_server: Fix drawing transformed BBitmaps...
...when the untransformed view rect is partially outside
the view bounds. Untested.
2014-05-21 20:35:56 +02:00
Adrien Destugues
569bd922a6 Add a test that shows bitmap being wrongly clipped.
* The bitmap should cover the same area as the rectangle, but it
doesn't.
2014-05-21 17:02:13 +02:00
Alexander von Gluck IV
2aaeccd9ec autoraise: Toggle not toogle; no functional change 2014-05-20 18:36:31 -05:00
Fredrik Holmqvist
5c62e15f76 Fix bitrot, parent unused error and acpi_object_type union change. 2014-05-20 22:19:43 +02:00
John Scipione
1867d69c8b BPoint: Replace max_c() and min_c() with std::max() and std::min() 2014-05-20 15:48:04 -04:00
John Scipione
e430d19ef6 BPoint: Style fixes for documentation. 2014-05-20 15:47:25 -04:00
John Scipione
c109d7e06f BPictureButton: Style fixes related to documentation
Some variable renaming for consistency.
2014-05-19 20:13:38 -04:00
John Scipione
df48d3f9a8 BPicture: Style fixes related to documentation.
Mostly pointer style adjustments
2014-05-19 20:13:38 -04:00
Adrien Destugues
1d6f73bcbd Follow-up fixes for FillRect+transforms
* Factor out AlignRect to avoid code duplication
* Give the right rectangle to the OverlayHider.
2014-05-19 17:30:49 +02:00
Adrien Destugues
2f9ac9582d Transformation: add one more test
* Add test for a translation that makes things that are out of view
bounds to become visible
* Fix the "rectangles" test to handle scrolling of the view. It seems
that in some cases some of the rectangles are not drawn.

The gradient and bitmap tests currently have problem with view
scrolling, but I'm not sure why.
2014-05-19 14:18:57 +02:00
Adrien Destugues
79eb23a82d Fix handling of filled rectangles with transforms.
The DrawingEngine didn't properly make a distinction between the
rectangle being filled and the damaged region on screen. This led to
unexpected results when using BAffineTransform.
2014-05-19 14:18:56 +02:00
Adrien Destugues
66bce8233a CID 1210936: use after free. 2014-05-19 14:18:55 +02:00
Alexander von Gluck IV
a8f9011015 h2: Fix bluetooth driver build, missing PrivateKernelHeaders
* We likely should move all of this stuff to normal
  atomic test and set operations at some point.
2014-05-18 22:33:56 -05:00
Rene Gollent
fd8693ea29 Debugger: Improvements to crash report generator.
- If debug information is available for a given stack frame, show the
corresponding source file path and line number in the crash report.
2014-05-18 11:05:28 -04:00
Rene Gollent
4abae4aba8 Debugger: Fix #10781.
- Don't attempt to calculate a selection region if we don't currently have a
valid target block. Should fix remaining part of #10781.
2014-05-17 21:41:35 -04:00
Rene Gollent
6053c78a92 Debugger: Fix #10764.
- Destroy the background worker before going after all the managers. Otherwise,
there might potentially still be jobs in flight that might touch them, leading
to crashes.
2014-05-17 21:26:40 -04:00
John Scipione
979af5a8a2 IFSSaver: Don't DirectDraw for preview.
The ScreenSaver window is now a BDirectWindow, but, _DrawFractals() makes
the assumption that a direct window means that the screen saver is running full
screen, so, we need to make sure we draw the preview using the
DrawBitmapAsync() method.

Fixes #10832
2014-05-15 17:42:12 -04:00
John Scipione
f5e32a8614 IFS: Style fixes 2014-05-15 17:41:48 -04:00
John Scipione
49ea2debde IFSSaver: reverse these for consistency. 2014-05-15 17:41:47 -04:00
John Scipione
da679effb4 IFSSaver: remove fBounds variable 2014-05-15 17:41:45 -04:00
John Scipione
664720405e IFSSaver: style fix, check if NULL explicitly 2014-05-15 17:41:44 -04:00
John Scipione
694d9bc1e6 IFSSaver: style fixes 2014-05-15 17:41:39 -04:00
John Scipione
ca7ee40437 IFSSaver: Add some better error checking 2014-05-15 17:40:51 -04:00
John Scipione
3daf447497 IFSSaver: Use single-precision floating point math 2014-05-15 17:40:51 -04:00
John Scipione
71d273ad49 IFSSaver: cast to bigtime_t, not uint64 2014-05-15 17:40:50 -04:00
John Scipione
fd18c60886 IFSSaver: NULL check style fix 2014-05-15 17:40:50 -04:00
John Scipione
98b054fe02 IFS: Style fixes 2014-05-15 17:40:49 -04:00
Adrien Destugues
4c901476bf CID 1210843: useless delete. 2014-05-15 22:57:33 +02:00
Adrien Destugues
0674a9ca80 CID 1210931: missing "default:" in switch. 2014-05-15 22:57:29 +02:00
Stephan Aßmus
e443b44ab8 IFS: Prevent division by zero...
...when the BRect passed to the constructor is not valid.
Should fix ticket #10832. Untested.
2014-05-13 16:47:22 +02:00
Ingo Weinhold
f307a18588 package daemon: Volume: Fix destruction order
We must destroy the VolumeStates before destroying the
PackageFileManager that manages their packages.

Kudos to Rene for analyzing.
2014-05-12 11:30:42 +02:00
Jérôme Duval
c73c8e2367 gutenprint: add gutenprint as a mandatory package.
* use the shared library libgutenprint.so
* remove the xml data files from the tree and the Haiku package.
2014-05-10 13:08:35 +02:00
Jessica Hamilton
4d4fc432b2 PackageFile: correct inverted NULL check. Fixes #10817. CID 1211989. 2014-05-10 11:06:28 +12:00
Jérôme Duval
0584f69356 gutenprint: use outsourced package.
* data files are still in the source tree.
* gutenprint headers contain a image.h header file which collides
with ours. This is solved by forcing include search first on
os/kernel directory.
2014-05-09 20:19:35 +02:00
Joseph R. Prostko
4f08777610 Raise the limit for the maximum VMDK image size
* Raised the limit from 4 GB to 160 GB, as the is the highest I could test
2014-05-08 20:42:11 -04:00
Pawel Dziepak
680ca3b13d runtime_loader: fix CID 1211995, improve generation counting
There is no need to increase generation counter each time new DSO is
registered.
2014-05-08 23:07:50 +02:00
Pawel Dziepak
fad7246fcd runtime_loader: fix CID 1211997, proper corner case handling 2014-05-08 23:07:50 +02:00
Pawel Dziepak
2c001246a0 build: when using gcc4 build kernel with c++11 2014-05-08 23:07:50 +02:00
Pawel Dziepak
578558b439 add-ons/kernel: add spaces between literals and identifiers
Due to introduction of user-defined suffixes C++11 requires that there
is a space between literal and identifier to avoid ambiguity.

This patch makes the whole kernel build successfully with C++11.
2014-05-08 23:07:50 +02:00
Jessica Hamilton
edc6d1558e packagekit: fix using free instead of delete[]. CID 1210827. 2014-05-08 16:41:15 +12:00
Jessica Hamilton
194ce33d65 DynamicBuffer: remove unneeded size check. CID 604168. 2014-05-08 16:41:14 +12:00
Jessica Hamilton
41a9299bb5 BNetEndPoint: fix signedness issues. CID 604169. 2014-05-08 13:48:51 +12:00
Pawel Dziepak
76636769bd kernel/x86_64: inline x86_{read, write}_msr()
This patch makes it possible to inline rdmsr and wrmsr instruction. The
performance impact shouldn't be significant since they are used relatively
rarely and wrmsr is usually a serializing instruction, but there is no reason
not to do so.
2014-05-06 21:41:49 +02:00
Pawel Dziepak
88e8e24c84 kernel/x86_64: improve context switch implementation
The goal of this patch is to amortize the cost of context switch by making
the compiler aware that context switch clobbers all registers. Because all
register need to be saved anyway there is no additional cost of using
callee saved register in the function that does the context switch.
2014-05-06 21:15:55 +02:00
Pawel Dziepak
9db5b975f9 kernel/x86_64: rework of IDT handling code
Similarly to previous patch regarding GDT this is mostly a rewrite of
IDT handling code from C to C++. Thanks to constexpr IDT is now entirely
generated at compile-time.
2014-05-06 14:59:54 +02:00
Pawel Dziepak
2b6d4bc657 kernel/x86: add space between literal and identifier
Due to introduction of user-defined suffixes C++11 requires that there
is a space between literal and identifier to avoid ambiguity.
2014-05-06 14:59:53 +02:00
Pawel Dziepak
cd59bf4349 kernel/x86_64: x86_64 gdt handling code overhaul
Virtually no functional change, just rewriting the code from
"C in *.cpp files" to C++. Use of constexpr may be advantageous but
that code is not performance critical anyway.
2014-05-06 14:59:53 +02:00
Pawel Dziepak
c1dc104960 kernel/x86_64: enable c++11 in x86_64 specific code 2014-05-06 14:59:53 +02:00
Pawel Dziepak
f31c19bb9e libroot/x86_64: relax asm constraints in find_thread() 2014-05-06 14:59:53 +02:00
Pawel Dziepak
344643740a libroot/x86_64: minor improvements in TLS code
* less inline asm
 * std::atomic<> instead of obsolete atomic_*()
2014-05-06 14:59:53 +02:00
Pawel Dziepak
ea7e57c966 libroot: enable c++11 in os/arch/x86_64 2014-05-06 14:59:53 +02:00
Ingo Weinhold
e9eb4df71b BDaemonClient: Handle options message fields correctly 2014-05-05 21:29:25 +02:00
Ingo Weinhold
c2f3b81d45 package daemon: Fix manual package [de/]activation
CommitTransactionHandler: Since the VolumeState is now always copied
(including the contained packages), we can't just use the passed in
packagesAlready{Added,Removed} sets, since they refer to the original
packages.
2014-05-05 21:29:25 +02:00
Rene Gollent
7fa8b5538c Debugger: Add block navigation shortcuts to inspector window. 2014-05-04 17:26:28 -04:00
Ingo Weinhold
c69ed143a6 package daemon: CommitTransactionHandler: Minor error case fixes 2014-05-04 20:59:01 +02:00
Ingo Weinhold
4284b6c93a BInstallationLocationInfo: Provide more info
* If the active state is not the latest state, also provide a package
set for it.
* If an old state has been booted, provide its name.
2014-05-04 20:59:01 +02:00
Ingo Weinhold
5a1c6a7089 InstallationLocation: Rename [in]activePackages properties
Add prefix "Latest".
2014-05-04 20:59:01 +02:00
Ingo Weinhold
870e93acf8 package daemon: Move volume change counter back to Volume 2014-05-04 20:59:01 +02:00
Pawel Dziepak
0e45e3eb1d runtime_loader: keep symbol DSO in SymbolLookupCache
While resolving TLS related relocations it is necessary to know the DSO
that defines the symbol. Without proper support in caching that information
is available only when the symbol is resolved first time. That works well
for TLS since TLS_DTPMOD is guaranteed to be before TLS_DTPOFF relocation.
This patch makes the newly introduced parts of the interface work in a
general case.
2014-05-04 12:52:05 +02:00
Pawel Dziepak
df58e6a9f4 runtime_loader: support linking TLS symbols from any DSO
Previously TLS_DTPMOD relocation blindly returned ID of the current DSO.
This patch does proper symbol lookup if there is a symbol assigned to the
relocation and uses ID of the DSO in which the symbol is defined.
2014-05-04 12:21:26 +02:00
Jessica Hamilton
0427af0c09 AboutSystem: fix the build when firmware not included. 2014-05-04 17:24:42 +12:00
Jessica Hamilton
c545f253e1 AboutSystem: Only translate hyperlink text. Fixes #7491. 2014-05-04 16:55:17 +12:00
Pawel Dziepak
44c0c4d3d0 runtime_loader: add support for ELF based TLS
This patch introduces support of ELF based TLS handling with lazy allocation
and initalization of TLS block for each DSO and thread. The implementation
generally follows the official ABI except that generation counter in dtv
is in fact a pointer to Generation object that contains both generation
counter and size of the dtv. That simplified the implementation a bit, but
could be changed later. The ABI requirements regariding in memory position
of TLS block is not honoured what results in static TLS model being
unsupported. However, that should not be a problem as long as
"executables" in Haiku are in fact shared objects and optimizations which
require specific TLS block in memory layout are not possible anyway.
2014-05-04 04:00:17 +02:00
Pawel Dziepak
bc472ab8f9 runtime_loader: add simple vector implementation
std::vector requires libstdc++ which may be unsafe to use in runtime_loader.
2014-05-04 02:40:04 +02:00
Pawel Dziepak
634bc98a3c libroot/x86[_64]: relax asm constraints in tls_*() functions 2014-05-04 02:40:04 +02:00
Jessica Hamilton
24a8416ea7 Revert "Fix window behavior when default button is present"
With some testing, found that even with the second patch
provided in #10792, the behaviour is still inconsistent, so
reverting for now.

This reverts commit 273109e004.
2014-05-03 10:04:05 +12:00
Adrien Destugues
77b60d2222 Use std::stable_sort instead of mergesort.
* stable_sort is part of the C++ standard, and should work just as well.
2014-05-02 16:36:16 +02:00
Adrien Destugues
6df2ee73b3 Try to fix build on Linux.
* Linux is the only one of our supported build hosts to not have
mergesort. Provide an implementation that calls qsort, since the qsort
implementation in the glibc used by Linux uses a mergesort (!) for small
arrays.
2014-05-02 13:56:00 +02:00
Adrien Destugues
3dfdd43723 BGradient: preserve order of stops with same offset.
* Use merge sort, which is a stable sort, instead of the qsort used in
BList::SortItems
* This allows setting two stops with the same offset to create a sharp
color change in a gradient. This trick is used to create stripe patterns
with css gradients in some web pages.

Fixes #10733.
2014-05-02 11:46:37 +02:00
Ingo Weinhold
fe28d36222 package daemon: Don't apply system package changes immediately
When a system package is going to be deactivated, activate/deactivate
the packages of the whole transaction only to the latest state.
Afterward latest state and active state will differ.
2014-05-01 18:18:37 +02:00
Ingo Weinhold
2dbf8167fe package daemon: Initial old packages state support
* VolumeState: Move locking to Volume.
* Package: Pull the file related functionality into new class
  PackageFile. A Package refers to a PackageFile. A PackageFile can be
  referenced by multiple Packages. PackageFiles are managed by the new
  PackageFileManager.
* CommitTransactionHandler: Clone the passed volume state.
* Volume now manages two VolumeStates: A state reflecting the currently
  active packages and the latest state (i.e. the one reflecting the
  situation of the packages directory). Usually the two are the same,
  unless an old state has been booted.
* The client interface hasn't been adjusted yet. Clients only see the
  latest state.
2014-05-01 18:18:37 +02:00
Alexander von Gluck IV
2354b8ac00 radeon_hd: Finish spread spectrum support
* This needs testing and is to remain disabled
  until we can test on several radeon_hd cards
  from multiple families
2014-05-01 09:45:06 -05:00
Alexander von Gluck IV
f01af94ff7 radeon_hd: Don't squash ss status_t into bool 2014-05-01 08:56:55 -05:00
Oliver Tappe
090144251d Fix #10804: package_daemon crashing in Volume destructor.
* use delete [] for fPackagesDirectories, as it has been allocated
  via array new
2014-05-01 14:48:59 +02:00
Oliver Tappe
aa2e5eca78 Add new configuration option --no-downloads.
* If --no-downloads has been given, Haiku will be built without
  trying to download anything, all required packages need to be put
  into the download folder manually (the build will stop on missing
  packages).
* As the required HaikuPorts repository can't be downloaded in this
  mode, a local repository is created during the build, which only
  contains the packages available in the downloads folder.

This is useful for building Haiku completely from source.
2014-05-01 13:03:43 +02:00
Oliver Tappe
3d9c3125ac Create packages_build folders per build type.
* The content of the preprocessed package-info files and the package
  contents depend on the build type, so we use a different folder for
  each build type.
2014-05-01 13:00:46 +02:00
Murai Takashi
79895eed07 Fix gcc 4.9.0 build
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2014-04-29 22:01:34 +02:00
Adrien Destugues
1d09e9cee3 BScrollbar: remove unused field.
* Nothing ever reads fTargetName in the scrollbar code, so remove the
field.
* Frees one reserved slot, and a little memory, as the target name was
copied with strdup.
2014-04-29 16:46:00 +02:00
Adrien Destugues
8073fcbb39 Style fixesStyle fixes. 2014-04-29 11:25:58 +02:00
Adrien Destugues
e1e77df2f3 Make gcc4 happy. 2014-04-29 08:14:22 +02:00
Adrien Destugues
554e207384 ShowImage: add feature to force original size.
* This is enabled by shift+click on the Original Size toolbar button.
* The button stays pressed as long as the feature is enabled. Clicking
it again disables it.
* When this is enabled, all images will be shown at original size,
instead of being scaled up or down to fit the window.
* This is not persistent, and only affects the current session/window.
2014-04-28 22:04:08 +02:00
Adrien Destugues
9494b43adc Revert attempt to fix stretch-to-window.
Turns out the option shouldn't do what I need. Let's add another option.
2014-04-28 22:04:06 +02:00
Adrien Destugues
711ffc4580 ShowImage: use BButton icon support.
* BIconButton is not needed anymore, now that BButton supports icons.
* Slight look changes. These buttons are a bit bigger, with extra
whitespace. I compensated this by reducing the insets and spacing, which
looks the same when no button is hovered, but a bit different when one
is, as the button frame is bigger. Maybe we need to tweak BButton to
have smaller margins like BIconButton did.
2014-04-28 22:04:03 +02:00
Kacper Kasper
273109e004 Fix window behavior when default button is present
* Don't intercept Enter key press in a window when there is default
button and another BControl focused.
* Current behavior was basically breaking every window using default
button. Even if there was a button focused (using Tab key), when Enter
was hit, default button handled the message, therefore instead of
i.e. 'Revert' 'Apply' was pressed.
* Fixes #10792.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2014-04-28 22:52:09 +12:00
Adrien Destugues
2bd9c8a5f9 ShowImage: fix scale-to-fit behavior
* Fix the condition so that big images are fitted to the window on first
time only if the option is set.
* Small images are never stretched to the window size, as this isn't
very useful.

The interaction of this global setting with the zoom buttons is a bit
confusing. Should they be merged?
2014-04-27 18:03:05 +02:00
Adrien Destugues
cb2c4f8d44 Convert more printf to TRACE in media kit. 2014-04-27 18:03:03 +02:00
Jessica Hamilton
f21045a772 Correct B_USER_BOOT_DIRECTORY path. Fixes #10070. 2014-04-27 15:45:40 +12:00
Ingo Weinhold
333d4efe4f packagefs: Extend PACKAGE_FS_OPERATION_GET_PACKAGE_INFOS ioctl
Also return the package file names.
2014-04-26 15:34:18 +02:00
Ingo Weinhold
ba4c67b4b0 packagefs: Fix ioctl PACKAGE_FS_OPERATION_GET_VOLUME_INFO
... in case a larger buffer is provided.
2014-04-26 15:34:17 +02:00
Ingo Weinhold
c8dd5bbd94 package daemon: Retrieve all package directories from packagefs 2014-04-26 15:34:17 +02:00
Ingo Weinhold
7a3253f07c package daemon: Pass volume state CommitTransactionHandler
... and remove the getter from Volume again.
2014-04-26 15:34:17 +02:00
Ingo Weinhold
7a35d803d0 package daemon: Move pending job accounting back to Volume 2014-04-26 15:34:17 +02:00
Ingo Weinhold
fb53533e86 package daemon: CommitTransactionHandler: Use NotOwningEntryRef 2014-04-26 15:34:16 +02:00
Rene Gollent
e10e704441 Debugger: Fix crash in context menu builder.
A value node might not have a location due to e.g. issues resolving its parent.
Guard against this case and simply return early as we won't be able to take any
meaningful actions on such a node. Fixes the second crash listed in #10781.
2014-04-25 21:54:14 -04:00
Guillermo Bonvehi
667cfcdd56 TabView BTab::Select only add child if it doesn't have a parent
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2014-04-26 12:20:40 +12:00
John Scipione
c620610b98 WebPositive: Add support to show/hide bookmark bar
Default is shown, a menu option in the View menu allows you to show
or hide the bar.

Also move the bookmark bar below the tab frame, it looks better
here I think and matches other browsers (e.g. Firefox.)
2014-04-24 20:02:31 -04:00
John Scipione
fd849a28d9 Background: Make menu fields variable width 2014-04-24 17:14:29 -04:00
Jessica Hamilton
d154bfb517 Fix 64-bit build. Thanks umccullough! 2014-04-25 08:46:45 +12:00
John Scipione
60370b9a6c BMenuField/BTextControl: Store and reuse Label() 2014-04-24 15:31:16 -04:00
John Scipione
b11edca47d BTextControl: style fixes 2014-04-24 15:31:15 -04:00
John Scipione
c79f260276 BMenuField: Check if menuBar is NULL explicitly 2014-04-24 15:31:15 -04:00
John Scipione
d055b93b25 BMenuField: Replace 5 with DefaultLabelSpacing() 2014-04-24 15:31:14 -04:00
John Scipione
58a3b20760 BMenuField: style fixes 2014-04-24 15:31:14 -04:00
John Scipione
c884d017ed BMenuBar style fixes 2014-04-24 15:31:14 -04:00
John Scipione
ca6cc0aa50 BMenu: Replace min_c and max_c
... with std:min and std:max
2014-04-24 15:31:13 -04:00
John Scipione
b7096fd76b BMenu: remove useless default case 2014-04-24 15:31:13 -04:00
John Scipione
cb30cf1423 BMenu: style fixes 2014-04-24 15:31:12 -04:00
John Scipione
a631719fb4 BButton style fixes 2014-04-24 15:31:12 -04:00
Adrien Destugues
c161ea9ac2 WebPositive: add a bookmark bar.
* This is a BMenuBar with IconMenuItems.
* Uses node monitoring to live-update the bar as bookmarks are modified.
* Bookmark folders are BNavMenus and can be browsed.
* This needs some improvements, for example handling more bookmarks than
the window width allows us to show (with an extra menu like for tabs?)

Fixes #10232.
2014-04-24 14:33:54 +02:00
Adrien Destugues
53286932c0 Move IconMenuItem.h to headers/private/tracker.
* This can be useful outside of Tracker, so make it more visible.
2014-04-24 14:33:53 +02:00
Adrien Destugues
84da57fd56 MediaRoster: remove another message to app stdout. 2014-04-24 14:33:52 +02:00
Adrien Destugues
9f97d1cca2 Remove useless include. 2014-04-24 14:33:51 +02:00
Adrien Destugues
1cb5adb698 TabManager: better delay detection for closing the menu.
As suggested by stippi, we can use system_time and the CurrentMessage
when field to determine the relative time of the actual mouse clicks,
rather than the time of message delivery.
2014-04-24 14:33:49 +02:00
Adrien Destugues
422265608e Add a sniffing rule for XML.
* Set to a weak priority, to let more specific rules be used (svg,
xhtml, etc.)
2014-04-24 14:33:48 +02:00
Stephan Aßmus
e08beebef9 HaikuDepot: Work on retrieving more pkg info
* Simple, incomplete JSON string-builder.
 * Not yet using the new bulk information method of the web-app.
 * Not yet parsing the reply and doing anything with it, consequently
   commented out.
 * What works is generating a JSON command and receiving the reply.
2014-04-24 00:21:33 +02:00
Adrien Destugues
179c6ec2fd Remove some traces sent to application stdout.
* This may be fine in media server where it lands in logs, but certainly
not when the code is run in applications.
* Helps with all media-related webkit tests.
2014-04-23 15:13:14 +02:00
Adrien Destugues
804056af27 More tweaks to the HTML related sniffing rules:
* MHTML: give a higher priority than HTML to improve detection results,
as MHTL is likely to contain HTML in the first chunk.
* HTML: scan the first 512 bytes to increase likeliness of finding a tag
* XHTML: don't try to identify on the dectype, this is not reliable and
missing from some documents. Recognize "<html xmlns" and the utf-16
equivalent, as well as part of the DTD tag.
2014-04-23 15:13:12 +02:00
Adrien Destugues
507a03cfe0 Clsoe the tab list menu when clicking the button twice.
The menu was closed, but immediately reopened by the click on the
button. If the time since the menu closing is shorter than a
double-click delay, don't open the menu again.

Fixes #9538.
2014-04-22 16:29:11 +02:00
Adrien Destugues
d62f3e4a33 Forgot to commit this. Fixes the build. 2014-04-22 14:52:48 +02:00
Adrien Destugues
48d90a5092 Notifications: only color the left stripe
* Setting the important/failure color on the whole view looked ugly.
* Important notifications use B_CONTROL_HIGHLIGHT_COLOR, instead of
white.
* We may want to select better success and failure colors. Pure red and
green don't look very good. Suggestions welcome.
2014-04-22 13:46:46 +02:00
Adrien Destugues
567a96acc9 Pop a BNotification on download success/failure.
Clicking the notification opens the downloaded file for succesful
downloads.
Fixes #10689.
2014-04-22 13:31:28 +02:00
Adrien Destugues
976bc77c7c Activate download window when starting a download.
Fixes #9575.
2014-04-22 11:19:08 +02:00
Adrien Destugues
de3e2b5186 BGradient: don't allow out of bounds stops.
* They crash app_server if you try to use them, which is not a good idea.
* we could clamp them to 0/255, but reporting the error to the user
seems better.
2014-04-22 10:45:24 +02:00
Ingo Weinhold
8c6e1bf548 package daemon: Sever Volume-CommitTransactionHandler friendship
Move quite a bit of transaction related methods from Volume to
CommitTransactionHandler.
2014-04-20 11:54:10 +02:00
Ingo Weinhold
933e7b3280 Move Volume::CommitTransactionHandler to top level
Also move constant definitions to Constants.h/cpp.
2014-04-20 11:09:56 +02:00
Ingo Weinhold
273763d052 package daemon: Move Volume::State to top level
... and rename it to VolumeState.
2014-04-20 09:44:01 +02:00
Ingo Weinhold
6cf0a86499 findpaths: Add missing --list long option 2014-04-20 09:44:00 +02:00
Oliver Tappe
94089b909d Revert 6f68e52 and fix the gcc2 build via template.
* Instead of forcing the hash-table to use a copy of the key,
  introduce and use TypeOperation template to avoid taking a
  reference of a reference type (which gcc2 doesn't allow).
2014-04-20 00:26:29 +02:00
PulkoMandy
279c181ab8 Import stdatomic.c from freebsd for ARM port
* Fixes missing atomic stuff that gcc requires
* The gcc build still fails further down, because of a mixup of
VFP/nonVFP objects (at least for beagle build).
2014-04-19 23:44:32 +02:00
Jessica Hamilton
94febdfe87 AboutSystem: use BPathFinder correctly 2014-04-20 01:41:38 +12:00
Jessica Hamilton
07fae11ef8 AboutSystem: use BPathFinder instead of find_directory. 2014-04-20 01:06:06 +12:00
Jessica Hamilton
8173945dc4 AboutSystem: license hyperlinks were missing due to incorrect count 2014-04-20 00:05:17 +12:00
Jessica Hamilton
6f68e52f1f packagefs: BOpenHashTable keys are already reference types. 2014-04-19 22:22:24 +12:00
Jessica Hamilton
57fc26c16b Moved myself to current maintainers list. 2014-04-19 20:50:26 +12:00
PulkoMandy
2c8f0c5015 Fix compile error on 64-bit machines.
* This is built for the host system, so we can't use B_PRIdOFF.
* Until POSIX introduces a format constant for off_t, cast the variable
to long long to avoid a warning.
2014-04-19 10:11:39 +02:00
Pawel Dziepak
744dfa3c4c kernel: make sure thread priority is within valid range
The scheduler expects that all threads expect the initial idle threads
have priority in range [THREAD_MIN_SET_PRIORITY, THREAD_MAX_SET_PRIORITY].
If the requested pririty is out of range the value is clamped. Failing
with B_BAD_VALUE is probably an overkill since there isn't any real
change in the guarantees provided by the scheduler about the behavior
of such thread. Also, BeBook suggests that spawn_thread() can specify
priority 0.
2014-04-18 23:55:18 +02:00
Ingo Weinhold
2d91773d2e Adjust packagefs ioctl interface to support old states
* PackageFSVolumeInfo: Add the directories for all relevant states.
* PackageFSPackageInfo: Include the package file's parent directory node
  ref.

Package daemon and package kit still don't support old states yet.
2014-04-18 23:31:40 +02:00
Ingo Weinhold
5d55f327ed packagefs: Initial support for booting into old states
If an old state is specified via mount parameters we load the packages
as specified in its activated-packages file.

The interface for the package daemon, the package daemon itself, and
the package kit are still to be adjusted, so ATM some PM components
might be a bit confused when an old state was booted.
2014-04-18 23:31:40 +02:00
Ingo Weinhold
6b3a5caf99 VFS: Pass packages state selected in boot loader to packagefs 2014-04-18 23:31:40 +02:00
Ingo Weinhold
8585939dca VFS: Don't try to mount the no longer existing /boot/common packagefs 2014-04-18 23:31:40 +02:00
Ingo Weinhold
5c0f8450ac Boot loader: Add support for choosing an old packages state
For potential boot volumes with older packages states the respective
item in the boot volume menu now has a sub menu for selecting a state.
The boot loader functionality for this feature is complete -- i.e. the
respective kernel is loaded and the name of the old state is added to
the kernel args -- but kernel packagefs and package daemon support is
still missing.
2014-04-18 23:31:39 +02:00
Ingo Weinhold
59881eaa16 Boot loader: Update copyright right in boot menu 2014-04-18 23:31:39 +02:00
Ingo Weinhold
59ae1c816d Boot loader: Add get_stat(), directory_from()
* Add Node::Stat() and simplify Descriptor::Stat().
* Add get_stat() and directory_from().
2014-04-18 23:31:39 +02:00
Ingo Weinhold
2f019bd6ca boot loader: Implement subset of <dirent.h> API
* Add opendir(), closedir(), readdir(), rewinddir().
* Add open_directory(), similar to opendir(), but basing the path off a
  specified directory.
2014-04-18 23:31:39 +02:00
Ingo Weinhold
09c07e4c5c packagefs: PackagesDirectory: Use node_ref 2014-04-18 23:31:38 +02:00
Ingo Weinhold
211c21a592 packagefs: Add support for node_ref 2014-04-18 23:31:38 +02:00
Ingo Weinhold
dff8d2ea22 packagefs: Package: Use PackagesDirectory directly
... instead of Volume. Necessary to support using packages from
different directories.
2014-04-18 23:31:38 +02:00
Ingo Weinhold
aeb6fc9eca packagefs: Move Volume::PackagesDirectory to top level
Also make it a BReferenceable and fix Volume::fPackagesDirectory leak.
2014-04-18 23:31:38 +02:00
Adrien Destugues
34828f7346 Be more flexible in identifying HTML files
Some tests in WebKit have no <html> and no <head>...
* Allow "<style", "<script", and "<a href" to identify HTML
* Scan up to 256 characters instead of 64
* Also remove the rule identifying "<!--", because this really isn't html
specific.
2014-04-18 18:21:04 +02:00
Jérôme Duval
607a620b1c qrencode: use outsourced package
* qrspec.h isn't yet part of the package for some reason.
* removed qrencode from the bootstrap package.
* only include qrencode when the qrencode package is found.
* didn't check qrencode itself, tests welcome.
2014-04-18 18:10:57 +02:00
Jérôme Duval
4a4450c158 less: sysless config file is part of the hpkg.
* remove in-tree sysless config gen.
2014-04-17 23:20:32 +02:00
Jérôme Duval
1a8c694443 less: use the outsourced packages.
* added packages for x86 and x86_64.
2014-04-17 00:03:28 +02:00
Adrien Destugues
0c119984fa Require SVG files to start with <?xml tag
* Makes scanning faster
* Avoids mistaking some html files with embedded SVG as SVG files
2014-04-16 08:39:41 +02:00
Adrien Destugues
3eff063958 WebPositive: let escape close the menu.
* Intercept the escape key to mean "stop loading" only when menus are
closed.
2014-04-15 09:17:56 +02:00
Jérôme Duval
8df3fb7035 Remove outsourced sharutils provides from haiku package. 2014-04-14 23:52:45 +02:00
Jérôme Duval
eb763779e3 sharutils: use the hpkg.
* delete the intree sources.
2014-04-14 22:52:58 +02:00
Gerasim Troeglazov
d68289f7ae NTFS: Update libntfs to 2014.2.15 2014-04-14 11:35:50 +00:00
Adrien Destugues
02cdea9f9d BTab: use ControlLook to draw label.
* Supports disabled tabs like BeOS did: label is drawn with disabled
color, but can still be selected.
2014-04-12 11:37:45 +02:00
Adrien Destugues
4991d3fb52 Fix build. 2014-04-12 09:32:43 +02:00
Adrien Destugues
9b1f41b9c1 AddOnManager: remove more annoying traces. 2014-04-12 08:57:28 +02:00
Adrien Destugues
cfc4b62367 Network Kit: Prepare for HTTP range requests
* The DataReceived hook gets a position argument, making it possible for
listeners to handle out-of-order data (from two range requests at
different positions, for example)
* Adjust HaikuDepot (only user of the API in our sources)
* Add a copy constructor to HTTPRequest that copies the relevant
parameters from an existing request. Makes it easy to repeat a request
with a different range. Could be useful for restarting downloads, or
paralellizing them.
* Add SetRangeStart, SetRangeEnd calls to HTTPRequest, no implementation
yet. I'm putting all the API changes in this commit as it needs to be
synced with a matching haikuwebkit release.
* All archs must update to HaikuWebkit 1.3.0. Previous versions are
broken by this.
2014-04-12 08:57:26 +02:00
Adrien Destugues
5ba7abf8f2 AddOnManager: remove useless traces
These were acceptable in media kit log, but are only annoying now that
the AddOnManager is ran in applications. Moreover, these get to stdout
and make some WebKit tests fail.
2014-04-12 08:57:23 +02:00
John Scipione
ebd3bcdb9b exfat: handle 4-byte UTF-16 surrogate pairs
... in filenames. Replace the existing Unicode conversion functions
with UTF conversion functions from js that he relicensed MIT for us.

Put the UTF conversion functions in a private but shared code location
so that they can be accessed throughout the kernel.

Right now we only provide functions to convert between UTF-8 and UTF-16.
At some point we should also add functions to convert between UTF-8 and
UTF-32 and UTF-16 and UTF-32 but these aren't needed by exfat.

Remove the old Unicode conversion functions from exfat as they assumed
UCS-2 characters and don't work with UTF-16 used by exfat.

Rename most variables with the term length with code unit where code units
are intended. The term length, when used, means length in bytes while code
units represent either a full 2-byte UTF-16 character or half a 4-byte
surrogate pair.
2014-04-11 18:46:03 -04:00
Jérôme Duval
f13c2249b2 scsi_periph: fixed an "unused" warning. 2014-04-11 15:42:25 +02:00
John Scipione
1520fffa4f Time prefs: Use button label symbols & relayout
Add becomes +, Remove becomes −, the current button labels "Add" and "Remove"
are used as tool tips. Relayout the controls so that they fit nicely with the
buttons:

The add button is placed left of the server text control showing that it
adds new server names while the remove button is placed next to the list
view showing that it removes server names from the list.

The reset button is placed next to the "Synchronize" button at the bottom of
the tab group and is renamed "Reset to default server list".

This makes the window a bit taller.
2014-04-10 17:27:38 -04:00
John Scipione
deda8cad48 Time prefs: Set text colors in constructor 2014-04-10 17:27:37 -04:00
John Scipione
15cc2a1fad Time prefs: Set pointer NULL, delete in destructor
... avoiding potential memory leak.
2014-04-10 17:27:37 -04:00
Adrien Destugues
f325986993 FileRequest: identify unknown files.
* WebKit testsuite relies on the MIME types being correct, so when the
file doesn't have one, try to identify it.
* May be useful for other apps using FileRequest, anyway.
2014-04-10 08:51:00 +02:00
Adrien Destugues
a8d8e823ea HttpRequest: handle 302 and 307 redirects.
* Makes jamendo.com player work, as their soundfiles are behind a
temporary redirect for load balancing.
2014-04-10 08:50:59 +02:00
Adrien Destugues
d946ade025 ffmpeg: declare support for webm and 3gpp.
* Decoding works on the videos I tested with.
* Some videos on Youtube use these formats.
2014-04-10 08:50:57 +02:00
Adrien Destugues
41a807ec64 XHTML sniffing rule: handle utf-16 documents. 2014-04-10 08:50:56 +02:00
Adrien Destugues
a68efa7326 Add a mime type for XHTML and make Web+ the preferred app.
* WebPositive testsuite relies on the mimetype to parse xhtml files.
* This has a higher priority than HTML, because it is more reliably
detectable
* Uses the same icon as html and mhtml. Who wants to draw new ones?
2014-04-10 08:50:55 +02:00
Jérôme Duval
6fd00f80e8 scsi_periph: implemented VPD inquiry.
* declared block limits and logical block provisioning structs.
* based on SPC-4 and SBC-4 standards.
2014-04-09 20:40:11 +02:00
Pawel Dziepak
91810926dc scheduler: Fix and simplify thread migration logic in low latency mode
This patch remove the old thread migration logic which used few special
cases and (broken) general check that attempted to balance threads.

The new logic is pretty straightforward and seems perform well without
any additional special cases. Current core is compared with the least loaded
one and the thread is migrated if that would result in estimated loads of
both cores (i.e. the current one and the least loaded one) to become closer
to the average load (i.e. average of that two cores).
2014-04-09 03:24:34 +02:00
Pawel Dziepak
1bba129c56 scheduler: Let ThreadData::ShouldRebalance() choose the actual core
Currently, ThreadData::ShouldRebalance() (and mode specific functions
it calls) only decides whether to migrate thread to another core or not.
However, in most cases it actually needs to find the best candidate for
new core so it could as well return that information.
2014-04-09 03:24:34 +02:00
John Scipione
e439b00397 Fix button label position, try number 2
Create and use BLayoutUtils::AlignOnRect() to position the button label
in BControlLook::DrawLabel().

AlignOnRect(), unlike AlignInFrame(), provides the possibility to return
a rectangle with dimensions greater than the available size.

Add some comments above the methods in LayoutUtils that indicate such.

Also update copyright headers in LayoutUtils and ControlLook
2014-04-08 14:10:10 -04:00
John Scipione
f0fdd7b97a LayoutUtils: Use floorf() instead of floor() 2014-04-08 14:10:09 -04:00
John Scipione
6ecc270f57 LayoutUtils: Use std::max instead of max_c 2014-04-08 14:10:09 -04:00
John Scipione
04b48a29bd LayoutUtils: Style fix, remove leading space 2014-04-08 14:10:08 -04:00
John Scipione
4e8acd3232 ControlLook::DrawLabel() tiny style changes 2014-04-08 14:10:08 -04:00
John Scipione
c79ddce494 Revert "Fix button label position"
This reverts commit 1c69e1c306.
2014-04-08 14:10:07 -04:00
Adrien Destugues
f38165ad8c Add multipart/related MIME type for MHTML files.
* Uses the same icon as HTML. Anyone wants to design something better?
* Also add support to Web+ (not actually supported yet, but the next
version will).

These files are useful as self-contained documents (application
offline documentation), and for saving web pages in a single file.
2014-04-07 19:01:03 +02:00
Jessica Hamilton
c552bd6771 haiku_loader: search for matching shortcut in supermenus
Fixes #7469.
2014-04-07 22:14:08 +12:00
Stephan Aßmus
dc8a0aecf1 HaikuDepot: Set default icon for all packages. 2014-04-06 10:49:38 +02:00
Stephan Aßmus
726db742bd HaikuDepot: Implemented simple icon-cache.
* In a first round, icons are trying to be loaded
   from the icon cache.
 * In a second round, the cached icons are updated from the
   server, unless the icons files have been modified within
   the last hour. The web-app does support headers for checking
   if the resource has been modified since a certain date, however,
   with hvif being so small and the time it takes to connect to the
   server per individual icon being so relatively long, it doesn't
   seem worth it just yet to optimize for not actually getting the
   icon data in response.
2014-04-05 23:29:04 +02:00
Stephan Aßmus
f5ce3e39da HaikuDepot/SharedBitmap: switched to use BPositionIO...
...instead of BMallocIO specifically.
2014-04-05 23:29:03 +02:00
Jessica Hamilton
6242374090 Media Kit: fix use of pthread_once_init in FormatManager.cpp
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2014-04-04 22:25:46 +02:00
Adrien Destugues
8bbdad1487 FormatManager: actually return the singleton instance.
This should work better.
2014-04-04 12:42:14 +02:00
Jonathan Schleifer
6a2fd3a50e Add __dso_handle to bootloader and kernel
Clang references these when building for x86_64.
2014-04-03 19:19:33 +02:00
John Scipione
f5c284eeed Style fixes to BTextView 2014-04-02 19:38:25 -04:00
Adrien Destugues
638510600c Plugin loading: style fixes.
* Fix style issues pointed by stippi. Thanks!
* Rework the FormatManager instanciation to be thread safe.
2014-04-02 14:05:11 +02:00
Adrien Destugues
bf3b475c38 Urpdate AddOnManager and FormatManager for Media Kit
* These classes were moved from Media Server, making the use of ports
and messages to communicate with the app irrelevant.
* Split in a separate commit to help git keep track of moved files.

Fixes #4893.
2014-04-02 09:56:34 +02:00
Adrien Destugues
2feaa37f24 Move media plug-in support to application side.
The media server tried to use node monitoring to dynamically add and
remove plug-ins, but it isn't that useful:
* When a plug-in is added, applications would have to query the media
server to get an up to date list of available formats. For example
MediaConvert populates its format menus on startup.
* When removing a plugin, if an app already had it loaded, there is not
much that can be done to keep it working.
* The list of plugins was not sorted by directories (user vs system
add-ons), so the directories were re-scanned to make sure user add-ons
were returned first, rendering the node monitoring less interesting.

Now, the format handling is done by each application. The node
monitoring is removed, instead the apps will scan the plugin directory
when first using the media kit classes. Restarting the application is
needed to update the media formats list.
2014-04-02 09:56:32 +02:00
John Scipione
1c69e1c306 Fix button label position
This reverts a portion of hrev46580 concerning placement of a label on a button.
The label was draw too low on the button in some cases, notably in Keymap.
Restoring the old code for the icon-less case fixes the problem.

There still may be a problem drawing labels on buttons with icons, but, the code
should behave the same as it did in hrev46580 for that case, which is when
buttons with icons was introduced.
2014-04-01 17:19:00 -04:00