50433 Commits

Author SHA1 Message Date
Ingo Weinhold
707f60f4e9 Revert "Fix build."
This reverts commit 00dfae0bce7e63243180e89847df647cfa57be85.
2014-06-18 22:13:39 +02:00
Ingo Weinhold
a05da9f4b2 Revert "...and also fix a mismatched prototype"
This reverts commit 6555120f3b0dbc783ff5cc22a4ff0ceade53a2d8.
2014-06-18 22:13:38 +02:00
Ingo Weinhold
4c235c7497 Revert "Fix more issues detected by gcc4 compiler:"
This reverts commit 19f3bae0716c4eb7dd2a5716778560580be68071.
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 7202cfb455cae89faa6e2fa3d9a9d28c3068fa6b.
2014-06-18 22:13:38 +02:00
Ingo Weinhold
94a66563f5 Revert "shared kit: fixed headers dependency."
This reverts commit 675878fcfe54639ac7686de2c65166b784613337.
2014-06-18 22:13:38 +02:00
Ingo Weinhold
3528fd2d66 Revert "Fix one more status_t/ssize_t mixup."
This reverts commit f6658d2c2c27f2df33d5db2f485551ab737331b1.
2014-06-18 22:13:37 +02:00
Ingo Weinhold
cc66d3a051 Revert "Style fixes, no functional changes"
This reverts commit 916382a10f471ca31087dd71b8d3ece5de9cd421.
2014-06-18 22:13:37 +02:00
Ingo Weinhold
a01adf34d6 Revert "boot packagefs: Fix zlib dependency declaration"
This reverts commit 0b565a6f51c47e4fe31b10a80d95868e0b381ea2.
2014-06-18 22:13:37 +02:00
Ingo Weinhold
f39d7f1096 Revert "boot packagefs: Fix header path in zlib dependency"
This reverts commit aafc3386effbc8284b2b10db9614c46d49460a01.
2014-06-18 22:13:37 +02:00
Ingo Weinhold
f648efd3d4 Revert "Fix zlib-dependencies of (boot & standard) packagefs."
This reverts commit 06ed40580339e21f65c24b3d210c880dcf2ec739.
2014-06-18 22:13:36 +02:00
Ingo Weinhold
f256bccc66 Revert "Fix zlib-dependency in libnetapi."
This reverts commit 6b6ff33d607f01ac07dc1fa1305eddb9f801dc73.
2014-06-18 22:13:36 +02:00
Rene Gollent
cd1db87623 x86_64: Update packages.
- Add libexecinfo.
- Update cmake to 3.0.0_rc6.
- Update haikuwebkit to 1.3.1.
2014-06-17 20:09:10 -04: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
Oliver Tappe
e6d5152f7e Make all directories overridable by environment. 2014-06-16 21:01:40 +02: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
2b103ca8be Enable TLS support in gcc.
Since hrev47198 we have ELF-based TLS support in Haiku. When building
gcc with haikuporter, this is detected by the configure script, but when
cross compiling gcc we need to manually enable it, as no runtime check
can be performed to detect the feature.

This should fix #10938 by avoiding the mix of TLS and non-TLS libstdc++.
2014-06-16 15:19:11 +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
Adrien Destugues
20929296c9 Add RemoteDesktop to the image.
There are some rough edges, but this can be useful and deserves more
exposure.
2014-06-16 08:16:53 +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