Age | Commit message (Collapse) | Author |
|
Let's simplify things. There is now only KERNEL.
To see if you're on Serenity, check if __serenity__ is defined.
|
|
This matches the old behavior where makeall.sh would always try to
produce a clean build.
|
|
|
|
|
|
We always want to put crt0.o in the location where it can get picked
up by the i686-pc-serenity toolchain.
This feels a bit hackish but should get the build working again. :^)
|
|
|
|
|
|
|
|
Use simple stack cookies to try to provoke an assertion failure on
stack overflow.
This is far from perfect, since we use a constant cookie instead of
generating a random one on startup, but it can still help us catch
bugs, which is the primary concern right now. :^)
|
|
|
|
|
|
|
|
This allows the use of ccache for building the host-side tools.
|
|
Allow everything to be built from the top level directory with just
'make', cleaned with 'make clean', and installed with 'make
install'. Also support these in any particular subdirectory.
Specifying 'make VERBOSE=1' will print each ld/g++/etc. command as
it runs.
Kernel and early host tools (IPCCompiler, etc.) are built as
object.host.o so that they don't conflict with other things built
with the cross-compiler.
|
|
This avoids -Wclass-memaccess warnings exposed by the new Makefiles.
|
|
|
|
|
|
When we're in a drag, we're no longer concerned with streaming mouse
events to the window that initiated the drag, so just clear the active
input window pointer.
This fixes an issue where you'd have to click once after drag and drop
in order to "release" the mouse from the active input window.
|
|
We now try to open image files dropped on us from FileManager. :^)
The QuickShow code is not exactly well-factored, and should be fixes up
to not do the same thing twice, etc.
|
|
|
|
We now handle drop events with data type "url-list". This makes it
possible to drop a file from FileManager on TextEditor to open it.
|
|
These fields are intended to carry the real meat of a drag operation,
and the "text" is just for what we show on screen (alongside the cursor
during the actual drag.)
The data field is just a String for now, but in the future we should
make it something more flexible.
|
|
This will cause the event to bubble up the widget tree.
|
|
|
|
|
|
There was no good reason for this to be a separate function.
|
|
Travis is currently failing and whining about the log being too long.
It appears to be filling up with output from the git hackery.
|
|
|
|
Toolchain build makes git repo out of toolchain to allow patching
Fix Makefiles to use new libstdc++
Parameterize BuildIt with default TARGET of i686 but arm is experimental
|
|
|
|
|
|
While setting up the main thread stack for a new process, we'd incur
some zero-fill page faults. This was to be expected, since we allocate
a huge stack but lazily populate it with physical pages.
The problem is that page fault handlers may enable interrupts in order
to grab a VMObject lock (or to page in from an inode.)
During exec(), a process is reorganizing itself and will be in a very
unrunnable state if the scheduler should interrupt it and then later
ask it to run again. Which is exactly what happens if the process gets
pre-empted while the new stack's zero-fill page fault grabs the lock.
This patch fixes the issue by creating new main thread stacks before
disabling interrupts and going into the critical part of exec().
|
|
|
|
Now that Frame knows the visible viewport rect, it can easily ignore
repaint requests from e.g <blink> elements that are not currently
scrolled into view. :^)
|
|
This allows you to iterate a subtree and get a callback for every node
where is<T>(node) == true. This makes for quite pleasant DOM traversal.
|
|
When the visible viewport rect changes, we walk the layout tree and
check where each LayoutImage is in relation to the viewport rect.
Images outside have their bitmaps marked as volatile.
Note that the bitmaps are managed by ImageDecoder objects. If a bitmap
is purged by the kernel while volatile, we construct a new ImageDecoder
next time we need pixels for the image.
|
|
This will allow various mechanisms and optimizations based on the
currently visible viewport rect.
|
|
|
|
Also add ImageDecoder APIs for controlling the volatile flag.
|
|
This allows you to create a process-private purgeable GraphicsBitmap.
The volatile flag is controlled via set_volatile() / set_nonvolatile().
|
|
Just return 0 right away without changing any region flags.
|
|
Sometimes you might want to know if a purgeable region is volatile.
|
|
|
|
|
|
|
|
When iterating lines for "white-space: pre", we should only break when
there is an actual line break character.
|
|
|
|
|
|
|
|
Holding Shift key will constrain the LineTool's line angle to 15 degrees
increments. Many graphics editors have similar feature.
|