Age | Commit message (Collapse) | Author |
|
|
|
This is used by vttest on startup to query the device for identity.
|
|
|
|
|
|
Add sized variants of the global operator delete functions so we don't
have to use these GCC options anymore.
|
|
|
|
This will put everything running inside the terminal in the same SID.
|
|
The session should be started at a higher level, i.e the Terminal app.
|
|
We should use dbg() instead of dbgprintf() as much as possible to
protect ourselves against format string bugs. Here's a bunch of
conversions in Ext2FS.
|
|
Sergey pointed out that we should just allow empty strings everywhere.
|
|
Move all the fork-specific inheritance logic to sys$fork(), and all the
stuff for setting up stdio for non-fork ring 3 processes moves to
Process::create_user_process().
Also: we were setting up the PGID, SID and umask twice. Also the code
for copying the open file descriptors was overly complicated. Now it's
just a simple Vector copy assignment. :^)
|
|
This allows you to override the shell used by Terminal. :^)
|
|
It's okay to exec { "/bin/echo", "" } and it should not EFAULT.
|
|
Previously the shell parser would discard empty tokens. We now allow
them when they are enclosed in quotes (either '' or "")
This means that a command like _echo ""_ will actually pass an empty
string to /bin/echo in argv[1] now.
|
|
This is only used by the somewhat dubious templated String::copy().
An empty Vector should generate an empty String when copied, never
a null String.
|
|
While one window is blocked by another modal one, just ignore events on
the window frame, and also ignore set_minimized() and set_maximized().
The only thing you're allowed to do with a blocked window is moving it.
Fixes #1111.
|
|
WSWindow now detaches from WSClientConnection when being destroyed.
Because of this, we can no longer rely on WSWindow::client() to tell
us whether a window is internal to WindowServer or not. So instead we
now have WSWindow::is_internal() which checks for client_id == -1.
Note that WSWindow now also gets a copy of its client_id when
constructed, since we can no longer rely on client() being valid after
destruction has started.
This allows various automatic mechanisms (e.g what happens in response
to window removal) to skip over windows that are being destroyed.
Fixes #387.
|
|
If something goes wrong when trying to message a windowing client,
we now tear it down *on next event loop* instead of immediately.
This avoids having to deal with disconnected windows suddenly
disappearing from window lists while looping over them.
|
|
To allow for more asynchronous teardown of IClientConnection, make the
post_message() function simply return if called after the IPC socket
has been closed.
|
|
Since these are not part of the system call convention, we don't care
what userspace had in there. Might as well scrub it before entering
the kernel.
I would scrub EBP too, but that breaks the comfy kernel-thru-userspace
stack traces we currently get. It can be done with some effort.
|
|
Trying to make_weak_ptr() on something that has begun destruction is
very unlikely to be what you want. Let's assert if that scenario comes
up so we can catch it immediately.
|
|
|
|
The variable is not set anymore by the UseIt.sh script, so if a user doesn't
have it set in the .bashrc or .zshrc file already, it's not working properly.
|
|
This fixes #995
|
|
|
|
|
|
This changes copyright holder to myself for the source code files that I've
created or have (almost) completely rewritten. Not included are the files
that were significantly changed by others even though it was me who originally
created them (think HtmlView), or the many other files I've contributed code to.
|
|
4.2.1 was the last version not to depend upon Gnulib.
|
|
|
|
|
|
Also provide a specialized swap(OwnPtr, OwnPtr) that allows swapping
an OwnPtr with itself.
|
|
|
|
Previously it was created the first time you requested a context menu
for the GTextEditor by right-clicking in it.
That meant it wasn't possible to use Ctrl+L to "go to line" before you
had first right-clicked the editor.
|
|
This is a handy feature for any multi-line GTextEditor, so let's just
have it in the base widget. :^)
Fixes #1122.
|
|
|
|
Fixes #1123.
|
|
Fixes #1121.
|
|
It's useful for the GTextDocument to have access to the initiating
GTextEditor widget during the initial execution of a command.
Since commands are executed via calls to GUndoCommand::redo(), we do
this by wrapping the invocation of redo() in a new helper called
GTextDocumentUndoCommand::execute_from(GTextDocument::Client).
This is then used to fetch the current auto-indentation feature state
and the soft tab width, both used by text insertion.
|
|
For example, socket(AF_INET) should only succeed for valid SOCK_TYPEs.
|
|
|
|
|
|
It always bothered me that we're using the overloaded "dereference"
term for this. Let's call it "unreference" instead. :^)
|
|
Now that String::split() defaults to keep_empty=false, we need to make
sure the pwd and grp functions in LibC keep the empty ones.
This fixes "id" moaning about invalid lines in /etc/group.
|
|
Also add a little "History" section noting that pledge() is an original
OpenBSD invention and that our implementation differs in many ways.
|
|
|
|
|
|
|
|
FileSystemPath(".") should not have a title(). This was caught by the
unit test for FileSystemPath, yay! :^)
|
|
This reverts commit 6c72736b26a81a8f03d8dd47989bfffe26bb1c95.
I am unable to boot on my home machine with this change in the tree.
|
|
Distros like Debian and Ubuntu don't have /sbin in PATH, thus mke2fs is
not found.
|