]> git.ipfire.org Git - thirdparty/plymouth.git/log
thirdparty/plymouth.git
15 years ago[animation] Properly handle zero animation frames
Ray Strode [Sat, 21 Aug 2010 20:59:04 +0000 (16:59 -0400)] 
[animation] Properly handle zero animation frames

In the event there are no animation frames, we should
fail to load the animation control.

15 years ago[drm] free stored connector
Ray Strode [Sat, 21 Aug 2010 02:07:26 +0000 (22:07 -0400)] 
[drm] free stored connector

For most connectors associating monitors with our virtual
'heads', we merely track their ids.  This means we don't have
to bother freeing any client side state at deallocation time.

There's one exception, though.  The main connector, connector0,
we keep an open reference to.  We do this, because it owns the
mode object we use in SetCrtc calls.

This commit ensures that connector0 for each head is properly freed
when that head is deallocated.

15 years ago[drm] Allow multiple monitors to share one controller
Ray Strode [Thu, 19 Aug 2010 18:22:48 +0000 (14:22 -0400)] 
[drm] Allow multiple monitors to share one controller

Some underpowered video cards will have multiple connectors
tied to one controller.  In this case all connectors get
the same "cloned" output automatically.

This commit detects this situation and prevents plymouth from
wastefully trying to allocate several frame buffers.  This
commit also prevents plymouth from constantly trying to switch
between those allocated frame buffers every frame of the animation.

15 years ago[array] Support integer elements
Ray Strode [Thu, 19 Aug 2010 23:07:17 +0000 (19:07 -0400)] 
[array] Support integer elements

Right now all array elements must be pointer values, or
at least pointer sized values.

This commit allows 32-bit integers as elements as well.

15 years agoRevert "[drm] Store color depth in buffers"
Ray Strode [Thu, 19 Aug 2010 17:01:38 +0000 (13:01 -0400)] 
Revert "[drm] Store color depth in buffers"

This reverts commit 4469b8719e32cb179a4ae792e4aaf1bcf7789618.

It was really only needed for commit
625b82f2c3a4f7aa1ea90133fbbda854bd3c2f8d which we've now
reverted, so revert this one, too.

15 years agoRevert "[drm] bail if not in 24bpp color mode"
Ray Strode [Thu, 19 Aug 2010 17:00:28 +0000 (13:00 -0400)] 
Revert "[drm] bail if not in 24bpp color mode"

This reverts commit 625b82f2c3a4f7aa1ea90133fbbda854bd3c2f8d.

Even if the kernel fb console is 8bpp, we can (and indeed do)
create our own 24bpp buffer, so the commit wasn't right.

15 years ago[drm] bail if not in 24bpp color mode
Ray Strode [Wed, 18 Aug 2010 20:16:35 +0000 (16:16 -0400)] 
[drm] bail if not in 24bpp color mode

Some server hardware gets initialized into 8bpp mode to
conserve memory.  We can't work in that mode, so we now
check for it and back early.

15 years ago[drm] Store color depth in buffers
Ray Strode [Wed, 18 Aug 2010 20:07:08 +0000 (16:07 -0400)] 
[drm] Store color depth in buffers

We only really support full color layouts at the moment
for kernel modesetting drivers, but this commit adds a
"color_depth" member to the buffer structs so we can at
least recognize non-conforming buffers.

15 years ago[main] Properly handle no serial consoles
Ray Strode [Thu, 5 Aug 2010 01:05:21 +0000 (21:05 -0400)] 
[main] Properly handle no serial consoles

The previous commit introduced an error where
console could potentially be accessed while
NULL.

This commit addresses that problem.

15 years ago[main] Ignore duplicate serial consoles on kernel command line
Ray Strode [Tue, 3 Aug 2010 22:29:48 +0000 (18:29 -0400)] 
[main] Ignore duplicate serial consoles on kernel command line

Right now if a user erroneously puts, e.g., console=ttyS0 twice
on their kernel command line, plymouth will open that tty twice
and write to it twice, and read from it twice, etc.

This commit filters those duplicates out.

15 years ago[boot-splash] Add built-in plugin
Ray Strode [Tue, 27 Jul 2010 22:30:13 +0000 (18:30 -0400)] 
[boot-splash] Add built-in plugin

There are times when plymouth is running that the filesystem isn't
accessible.  For instance, if a user has /usr as a separate partition,
then when first leaving the initrd, plymouth won't have access to its
plugins.

In those cases we really need to survive if the user hits escape.

This commit compiles details into the binary.  In this way, if the
plugins aren't available, we still have something to fall back to.

15 years ago[main] Parse args at end of /proc/cmdline properly
Ray Strode [Tue, 27 Jul 2010 22:43:32 +0000 (18:43 -0400)] 
[main] Parse args at end of /proc/cmdline properly

We weren't treating \n as an acceptable boundary

15 years ago[terminal] fix debug statement
Ray Strode [Sat, 24 Jul 2010 02:19:30 +0000 (22:19 -0400)] 
[terminal] fix debug statement

It was missing an argument.

15 years ago[configure] Bump configure to 0.8.4
Ray Strode [Sat, 24 Jul 2010 02:15:48 +0000 (22:15 -0400)] 
[configure] Bump configure to 0.8.4

We aren't doing a release yet, this is just prep work
for an eventual release.

15 years ago[main] only look for a shell in valid returned prefixed strings
Charlie Brej [Wed, 21 Jul 2010 14:54:36 +0000 (15:54 +0100)] 
[main] only look for a shell in valid returned prefixed strings

Fixes a segfault if no "init=" is present

15 years ago[main] Don't watch for keyboard input if no keyboard
Ray Strode [Wed, 21 Jul 2010 04:21:16 +0000 (00:21 -0400)] 
[main] Don't watch for keyboard input if no keyboard

In the event should_ignore_show_splash_calls () returns
true, we won't ever have a keyboard set.  This commit
make sure that we don't try to use the keyboard if its
unavailable.

15 years ago[main] Try to be smarter about init=/foo on kernel command line
Ray Strode [Wed, 21 Jul 2010 03:02:54 +0000 (23:02 -0400)] 
[main] Try to be smarter about init=/foo on kernel command line

Right now, we put plymouth into a sort of degraded mode when we
find init=/anything on the kernel command line.  This is so if
the user does init=/bin/sh to get fix their system, we don't
get in the way.

This breaks plymouth for things like init=/sbin/bootchartd and even
init=/sbin/init.  We've previously had a plymouth.override-splash
kernel command line option to force plymouth on in those cases.

This commit flips things around a bit.  Now init=/sbin/bootchartd
will work by default and there's a new option
plymouth.ignore-show-splash which forces things back into degraded
mode.  We also will implicitly do the degraded mode for e.g.
init=/foo/barsh

15 years ago[main] Use plymouth.arg instead of plymouth:arg for kernel cmdline
Ray Strode [Wed, 21 Jul 2010 02:45:21 +0000 (22:45 -0400)] 
[main] Use plymouth.arg instead of plymouth:arg for kernel cmdline

Plymouth has historically used "plymouth:" to identify arguments destined
for it on the kernel command line.  Most other things seem to the period
instead of colon, so this commit just makes plymouth conform.

For compatibility, we still support the old way.

15 years ago[main] drop all the open strstr calls
Ray Strode [Wed, 21 Jul 2010 02:27:25 +0000 (22:27 -0400)] 
[main] drop all the open strstr calls

Our kernel command line processing is rather ad hoc.
This commit tries to clean it up a small amount by
adding functions to hide the strstr details.

15 years ago[populate-initrd] don't croak when encountering broken symlink
Ray Strode [Tue, 13 Jul 2010 21:33:39 +0000 (17:33 -0400)] 
[populate-initrd] don't croak when encountering broken symlink

Because of an apparent think-o in the script, if a custom theme
has a broken symlink in it, plymouth-populate-initrd would silently
stop processing files and ship an incomplete set of data files.

This commit changes "break" to "continue" so that broken symlinks
are ignored, which was probably the original intent.

15 years ago[set-default-theme] Properly quote arguments to basename
Bruce Jerrick [Tue, 6 Jul 2010 15:13:38 +0000 (11:13 -0400)] 
[set-default-theme] Properly quote arguments to basename

It's important to make sure the theme name is properly
quoted when passed to the basename command.  This
is because, if the theme name is empty we want the empty
string returned, not the suffix that would otherwise be
stripped off.

Some discussion here:
https://bugzilla.redhat.com/show_bug.cgi?id=606634

15 years ago[details] detach from event loop when quitting
Ray Strode [Thu, 1 Jul 2010 01:55:59 +0000 (21:55 -0400)] 
[details] detach from event loop when quitting

If the user has the details plugin configured, and the
system does plymouth quit --retain-splash, then their
may be a crash.

This is because the plugin event loop exit handler will called
after the plugin is destroyed.  This commit makes sure
the exit handler is removed before the plugin is freed.

15 years ago[main] try more aggressively to find a terminal
Ray Strode [Thu, 1 Jul 2010 00:32:53 +0000 (20:32 -0400)] 
[main] try more aggressively to find a terminal

Before we defaulted to tty1, but some systems just
don't have tty1.  Normally, those systems specify
an alternate console on the kernel command line,
but not always.

This commit tries to make things work in those cases
as well.

I'd like to find a more generic way to make this all
work.

15 years ago[terminal] Add OPOST to tty attributes
Ray Strode [Thu, 1 Jul 2010 00:18:08 +0000 (20:18 -0400)] 
[terminal] Add OPOST to tty attributes

ONLCR apparently requires OPOST to work.

This should prevent weird "stair stepping"
effects when non-plymouth things try to
use the terminal.

15 years ago[terminal] Force enter to output newline
Ray Strode [Wed, 30 Jun 2010 23:43:16 +0000 (19:43 -0400)] 
[terminal] Force enter to output newline

This matches the default unix behavior, and so we're going to be a lot
more robust against our terminal settings getting mucked with.

15 years ago[client] Fix watch-keystroke cancellation
Ray Strode [Wed, 30 Jun 2010 20:04:14 +0000 (16:04 -0400)] 
[client] Fix watch-keystroke cancellation

If someone calls --ignore-keystroke then
the watch-keystroke command shouldn't get
run and the exit code should be different
than if it does get run.

15 years ago[viewer] make boot messages show up in monospace
Ray Strode [Wed, 30 Jun 2010 13:12:24 +0000 (09:12 -0400)] 
[viewer] make boot messages show up in monospace

They're sort of designed for it, and look weird in some cases,
otherwise.

15 years ago[viewer] add window icon
Ray Strode [Wed, 30 Jun 2010 13:00:05 +0000 (09:00 -0400)] 
[viewer] add window icon

Before it was showing up as an ugly generic icon.

15 years ago[throbber] fix drawing artifact
Ray Strode [Thu, 17 Jun 2010 20:11:42 +0000 (16:11 -0400)] 
[throbber] fix drawing artifact

The code was using the wrong x and y values, which meant initially
there is an opportunity to draw a frame in the wrong place.

15 years ago[event-loop] Handle more than 8 events at once
Tero Mononen [Tue, 15 Jun 2010 14:15:51 +0000 (10:15 -0400)] 
[event-loop] Handle more than 8 events at once

epoll_wait was getting passed a pointer to 64 events,
but was only being told to use up to 8 of those events
at a time because it was using sizeof (pointer) for the
argument specifying the number of events instead of the
actual number of events.

15 years ago[drm] Try to maintain current mode when overridden
Ray Strode [Mon, 14 Jun 2010 03:16:48 +0000 (23:16 -0400)] 
[drm] Try to maintain current mode when overridden

plymouth has naïvely been treating the first available mode in
the connector object as the active mode. While this is true
most of the time, it doesn't hold true if the user overrides the
mode on the kernel command line.

This commit changes things to look up the actual active mode, and go
with that, which should help prevent flicker at start up in some cases.

This patch is based heavily on a patch from Forest Bond
<forest@alittletooquiet.net> here:

http://lists.freedesktop.org/archives/plymouth/2010-June/000369.html

and first mentioned in commit abfda7550ac2fca6d816862e271126c2f44fa3cc

15 years ago[drm] Make find_controller return the crtc not crtc id
Ray Strode [Mon, 14 Jun 2010 02:45:36 +0000 (22:45 -0400)] 
[drm] Make find_controller return the crtc not crtc id

This will give us the ability to look at the currently active
mode and so paves the way toward cleaning up a recently added
FIXME in the code.

15 years ago[drm] Store mode of each head as index
Ray Strode [Mon, 14 Jun 2010 02:18:35 +0000 (22:18 -0400)] 
[drm] Store mode of each head as index

Previously, we would store the mode of each head as pointer in
the array of modes on the connector object.  Now we just store
the index into that array.

This is to make it clearer that we don't own the memory
associated with it directly, and that the memory associated with
it is automatically cleaned up when the connector is.

This also helps to highlight a problem mentioned by
Forest Bond <forest@alittletooquiet.net> here:

http://lists.freedesktop.org/archives/plymouth/2010-June/000369.html

Namely, we've been naïvely treating the first available mode in
the connector object as the active mode.  While this is true
most of the time, it doesn't hold true if the user overrides the
mode on the kernel command line.

15 years ago[client] Add ignore-keystroke command
Charlie Brej [Thu, 3 Jun 2010 14:45:36 +0000 (15:45 +0100)] 
[client] Add ignore-keystroke command

Adds an ignore-keystroke command. This does the same thing as the
ignore-keystroke option, but is migrated to a command. The option still exists
for compatibility.

15 years ago[terminal] Add some debug spew if terminal couldn't be opened
Ray Strode [Wed, 2 Jun 2010 22:30:12 +0000 (18:30 -0400)] 
[terminal] Add some debug spew if terminal couldn't be opened

15 years ago[keyboard] Don't blow an assertion if terminal is unavailable
Ray Strode [Wed, 2 Jun 2010 22:28:02 +0000 (18:28 -0400)] 
[keyboard] Don't blow an assertion if terminal is unavailable

Right now, we always assume the tty can be reopened when it
gets disconnected.  This isn't always true.  While plymouth
clearly won't function 100% properly without a tty, we shouldn't
blow an assertion.

15 years ago[main] Be more forgiving of an absent boot splash
Ray Strode [Wed, 26 May 2010 17:10:46 +0000 (13:10 -0400)] 
[main] Be more forgiving of an absent boot splash

Mandriva has cases where they need to drop to details mode
before /usr is mounted.  /usr has the details splash plugin,
so this causes plymouth to explicitly exit.

This commit makes plymouth cope with that scenario slightly
better.  It takes out the exit(1) call which was clearly bogus,
and also makes parts of the code handle a NULL splash better.
This is not a real fix though.

Ultimately, we should make "details" be built-in as a nice failsafe.
There's no reason we should need to load it off the disk as a plugin.

15 years ago[docs] Fix up encoding Kristian Høgsberg
Ray Strode [Fri, 14 May 2010 17:55:13 +0000 (13:55 -0400)] 
[docs] Fix up encoding Kristian Høgsberg

15 years ago[set-default-theme] More fixes to the fallback logic
Ray Strode [Fri, 14 May 2010 14:56:00 +0000 (10:56 -0400)] 
[set-default-theme] More fixes to the fallback logic

It still wasn't properly falling back in the event the
configured theme was uninstalled.

15 years ago[set-default-theme] Add more compat goo
Ray Strode [Fri, 7 May 2010 19:35:49 +0000 (15:35 -0400)] 
[set-default-theme] Add more compat goo

If there's no configured theme installed, return "text"

15 years ago[terminal] Don't stomp over original tty lock settings
Ray Strode [Fri, 7 May 2010 18:49:09 +0000 (14:49 -0400)] 
[terminal] Don't stomp over original tty lock settings

We were repetedly saving over the original tty lock settings,
causing the tty to stay locked after boot up.

15 years ago[configure] bump to 0.8.3 0.8.3
Ray Strode [Thu, 6 May 2010 17:32:20 +0000 (13:32 -0400)] 
[configure] bump to 0.8.3

15 years ago[two-step] Add optional header and throbber
Ray Strode [Thu, 6 May 2010 17:04:14 +0000 (13:04 -0400)] 
[two-step] Add optional header and throbber

These are just a few more bits for themes to optionally
make use of.  The throbber gets overlaid with the
progress animation, so they need to be concentric.
The header gets put on top.

15 years ago[two-step] Add new ProgressFunction config option
Ray Strode [Thu, 6 May 2010 16:59:54 +0000 (12:59 -0400)] 
[two-step] Add new ProgressFunction config option

We've historically used a expontial function for boot up,
to make it "feel" faster.  This equation was invented by
Will Woods.

Making progress linear with boot up is also useful though.

This commit makes it configurable.

15 years ago[main] Save progress cache file earlier
Ray Strode [Thu, 6 May 2010 14:57:33 +0000 (10:57 -0400)] 
[main] Save progress cache file earlier

The cache file record milestones during boot, so we should
write it out:

1) only after the root filesystem is mounted
2) as soon as we're no longer going to get updates about boot
   progress.

15 years ago[boot-splash] Force progress to 1.0 when quitting
Ray Strode [Thu, 6 May 2010 14:54:27 +0000 (10:54 -0400)] 
[boot-splash] Force progress to 1.0 when quitting

This potentially allows themes to move their progress
bars to the end before quiting.

15 years ago[throbber] Change frame sequencer function
Ray Strode [Thu, 6 May 2010 14:04:26 +0000 (10:04 -0400)] 
[throbber] Change frame sequencer function

The throbber has a function for determining which frame
to show based on the current time.  This function was:

  ƒrame(t) = number_of_frames ∙ (⅟₂ sin(t) + ⅟₂)

Which basically oscillates between 0 and number_of_frames - 1,
over and over again.  There are two problems with this function;
  - after it runs through all the frames in order, it then procedes
    to run through them backward.
  - This function also starts in the middle of the set of throbber
    frames.

These problems don't matter for spinfinity, but will look wrong for most
other themes.

The new function is this:

  ƒrame(t) = number_of_frames ∙ (1⁄duration)(t mod duration)

This function solves both problems.  At time 0 it uses frame 0, and
after the last frame it jumps back to the first frame.

15 years ago[throbber] set is_stopped after stopping
Ray Strode [Thu, 6 May 2010 12:45:41 +0000 (08:45 -0400)] 
[throbber] set is_stopped after stopping

The throbber variable has an is_stopped state
variable that decides whether or not draws happen.

It starts off false, and gets toggled when started.

Unfortunately, it never gets reset to false
after be stopped.  This commit fixes that.

15 years agoHandle NULL boot_buffer
Colin Watson [Wed, 28 Apr 2010 12:31:39 +0000 (13:31 +0100)] 
Handle NULL boot_buffer

boot_buffer may be NULL if plymouthd failed to attach to the console
session (e.g. if booting without an initramfs so /dev/pts isn't mounted
yet).  Handle this gracefully rather than segfaulting.

15 years agoHandle plymouth:splash or plymouth:debug as last argument
Colin Watson [Wed, 28 Apr 2010 12:28:34 +0000 (13:28 +0100)] 
Handle plymouth:splash or plymouth:debug as last argument

If plymouth:splash or plymouth:debug is the last argument in
/proc/cmdline, then it will be terminated with '\n' rather than ' '.
Handle this.

15 years agoFix parsing of plymouth:debug=file:
Colin Watson [Wed, 28 Apr 2010 12:27:59 +0000 (13:27 +0100)] 
Fix parsing of plymouth:debug=file:

Short-circuit evaluation meant that the path variable was never set if
plymouth:debug=file: was used.  Switch the ordering around to fix this.

15 years ago[terminal] wait for vt switching to finish on quit
Ray Strode [Thu, 29 Apr 2010 17:23:18 +0000 (13:23 -0400)] 
[terminal] wait for vt switching to finish on quit

After changing the active vt during start up,
we get a signal when it finishes, because we're in
VT_PROCESS mode, so we don't need to explicitly block
waiting for it to finish.

During the quit path, though, we aren't in VT_PROCESS mode anymore,
won't get any signals, and still need to know that the VT switch
is finished before informing the client that the quit is
finished.

This commit forces ply_terminal_deactivate_vt to block until the
VT switch it initiates finishes.

15 years ago[terminal] Add some debug spew
Ray Strode [Thu, 29 Apr 2010 16:46:00 +0000 (12:46 -0400)] 
[terminal] Add some debug spew

15 years ago[splash] export config and policy directories
Frederic Crozat [Wed, 21 Apr 2010 13:40:40 +0000 (15:40 +0200)] 
[splash] export config and policy directories

Export configuration and policy directories used by plymouth.

15 years ago[main] do not set state->keyboard twice
Frederic Crozat [Wed, 21 Apr 2010 09:48:57 +0000 (11:48 +0200)] 
[main] do not set state->keyboard twice

state->keyboard is set already in set_keyboard, there is no need to do
the work twice.

15 years ago[script] Remove debugging trace line
Charlie Brej [Tue, 20 Apr 2010 23:09:25 +0000 (00:09 +0100)] 
[script] Remove debugging trace line

15 years ago[script] Allow passing of values from the .plymouth file to the script
Charlie Brej [Tue, 20 Apr 2010 23:02:42 +0000 (00:02 +0100)] 
[script] Allow passing of values from the .plymouth file to the script

An example in the script.plymouth shows a value being set. These values are
then present at the first execution of the script set in the global scope.

15 years ago[key-file] Add foreach function to access all stored values
Charlie Brej [Tue, 20 Apr 2010 20:07:58 +0000 (21:07 +0100)] 
[key-file] Add foreach function to access all stored values

Supplying a callback function, you can get each group/key/value triple. Allows
accessing values in the key file for which you may not know the keys.

15 years ago[script] Default to text color alpha of 1 if nothing was passed
Charlie Brej [Tue, 20 Apr 2010 13:00:01 +0000 (14:00 +0100)] 
[script] Default to text color alpha of 1 if nothing was passed

If NULL or no variable was passed, the aplha variable would be read as NaN
which gets clamped to 0 so the text would be completely transparent.

15 years ago[main] Create a list of messages and when showing splash display them
Steve Langasek [Tue, 20 Apr 2010 11:02:24 +0000 (12:02 +0100)] 
[main] Create a list of messages and when showing splash display them

The system now keeps a list of messages so they can be shown again when the
user flips themes or if the messages were passed before the splash was shown.

This also enables the splashes to show multiple messages (should they choose to
do so). There will later be a way of undisplaying a message.

15 years ago[progress-animation] Typo bug in calculating max height
Charlie Brej [Sun, 18 Apr 2010 20:44:49 +0000 (21:44 +0100)] 
[progress-animation] Typo bug in calculating max height

Was looking at the width rather than the height of the second image

15 years ago[progress-animation] Remove unnecessary draw area
Charlie Brej [Sun, 18 Apr 2010 20:43:41 +0000 (21:43 +0100)] 
[progress-animation] Remove unnecessary draw area

Must have been left over from some debugging

15 years ago[progress-animation] Remove some now unnecessary area calculations
Charlie Brej [Sun, 18 Apr 2010 20:17:58 +0000 (21:17 +0100)] 
[progress-animation] Remove some now unnecessary area calculations

15 years ago[progress-animation] Convert more functions to use buffer fill with buffer
Charlie Brej [Sun, 18 Apr 2010 20:09:00 +0000 (21:09 +0100)] 
[progress-animation] Convert more functions to use buffer fill with buffer

15 years ago[image] Give get buffer function more sensible name
Charlie Brej [Sun, 18 Apr 2010 19:43:06 +0000 (20:43 +0100)] 
[image] Give get buffer function more sensible name

There was a "_convert_" in the middle of the function name from a clumsy copy
paste.

15 years ago[progress-animation] Use buffer fill with buffer instead of with raw data
Charlie Brej [Sun, 18 Apr 2010 19:32:27 +0000 (20:32 +0100)] 
[progress-animation] Use buffer fill with buffer instead of with raw data

15 years ago[entry] Allow setting of text color
Charlie Brej [Sun, 18 Apr 2010 19:20:34 +0000 (20:20 +0100)] 
[entry] Allow setting of text color

Default color is black.

15 years ago[entry] Fix ask question entry text
Charlie Brej [Sun, 18 Apr 2010 19:10:17 +0000 (20:10 +0100)] 
[entry] Fix ask question entry text

The text was not being shown because show was not called. Also the default
colour is white which was not showing up on white background.

15 years ago[entry] Convert from drawing image raw data to using pixel buffers
Charlie Brej [Sun, 18 Apr 2010 19:01:26 +0000 (20:01 +0100)] 
[entry] Convert from drawing image raw data to using pixel buffers

15 years ago[image] Add asserts to make sure NULL is not passed as the image
Charlie Brej [Sun, 18 Apr 2010 18:27:46 +0000 (19:27 +0100)] 
[image] Add asserts to make sure NULL is not passed as the image

15 years ago[image] Allow access to the internal image buffer
Charlie Brej [Sun, 18 Apr 2010 18:24:08 +0000 (19:24 +0100)] 
[image] Allow access to the internal image buffer

Adds ply_image_convert_get_buffer to get the image buffer without destroying
the image. Forgot to add the .c.

15 years ago[image] Allow access to the internal image buffer
Charlie Brej [Sun, 18 Apr 2010 18:22:49 +0000 (19:22 +0100)] 
[image] Allow access to the internal image buffer

Adds ply_image_convert_get_buffer to get the image buffer without destroying
the image.

15 years ago[script] Simplify sprite area calculation
Charlie Brej [Sun, 18 Apr 2010 16:53:11 +0000 (17:53 +0100)] 
[script] Simplify sprite area calculation

The sprite area no longer needs to be calculated as the buffer holds that
information.

15 years ago[script] Use fill with buffer function
Charlie Brej [Sun, 18 Apr 2010 16:38:23 +0000 (17:38 +0100)] 
[script] Use fill with buffer function

15 years ago[animation] Use fill with buffer function
Charlie Brej [Sun, 18 Apr 2010 16:20:52 +0000 (17:20 +0100)] 
[animation] Use fill with buffer function

15 years ago[throbber] Use fill with buffer function
Charlie Brej [Sun, 18 Apr 2010 16:17:08 +0000 (17:17 +0100)] 
[throbber] Use fill with buffer function

15 years ago[pixel-buffer] Add fill buffer with buffer functions
Charlie Brej [Sun, 18 Apr 2010 16:14:21 +0000 (17:14 +0100)] 
[pixel-buffer] Add fill buffer with buffer functions

These draw the content of one buffer into another. This is cleaner than using
the raw data and passing the width and height of the data separately.

15 years ago[animation] Move frames from image to pixel-buffers
Charlie Brej [Sun, 18 Apr 2010 15:17:00 +0000 (16:17 +0100)] 
[animation] Move frames from image to pixel-buffers

The frames are now stored as pixel-buffers which will be cleaner to draw from
in the future.

15 years ago[throbber] Move frames from image to pixel-buffers
Charlie Brej [Sun, 18 Apr 2010 14:51:17 +0000 (15:51 +0100)] 
[throbber] Move frames from image to pixel-buffers

The frames are now stored as pixel-buffers which will be cleaner to draw from
in the future.

15 years ago[pixel-buffer] Add get width and height functions
Charlie Brej [Sun, 18 Apr 2010 14:47:00 +0000 (15:47 +0100)] 
[pixel-buffer] Add get width and height functions

These were accessible by the get_size function, but individual functions are
more convenient.

15 years ago[main] Ignore keyboard changes when deactivating
Ray Strode [Wed, 14 Apr 2010 19:42:54 +0000 (15:42 -0400)] 
[main] Ignore keyboard changes when deactivating

There is a small window after plymouth is told
to quit or deactivate before it actually does.

During this window, if the user happens to hit
escape, bad things could happen.

We really don't want to mess with, e.g., the tty
settings when we're about to exit.

This commit puts plymouth in a sort of "degraded"
mode while it's deactivating.  During this time
frame, user input is ignored.

15 years ago[terminal] Lock terminal settings
Ray Strode [Wed, 14 Apr 2010 19:04:23 +0000 (15:04 -0400)] 
[terminal] Lock terminal settings

From time to time, various external programs
will muck with the tty we're using and make
the users password for encrypted disks show
up, make the enter key not work, etc.

We used to work around this by resetting the
tty the way we like it everytime we write the
screen.

We no longer do that after commit

e9a22723da7c9400d25aeff2625651b3d03be43f

Instead of changing it every time, it's probably
better to just prevent other programs from messing
up the settings in the first place.

This commit locks the terminal so if those programs
try to change the settings, they fail.

A better long term solution might be to get user input
/dev/input instead of the tty

15 years ago[pixel-buffer] Remove offsets from buffet fill with data functions
Charlie Brej [Tue, 13 Apr 2010 20:05:04 +0000 (21:05 +0100)] 
[pixel-buffer] Remove offsets from buffet fill with data functions

The x and y offsets were supposed to allow only a part of the image data to be
drawn, but this didn't work correctly. Instead the clip region can be used to
emulate the same effect. So the x and y paramiters in these functions are now
dropped. The only instance that used these now uses a clip. All other calls had
x and y set to zero.

15 years ago[event-loop] Add reference count to event sources
Ray Strode [Tue, 13 Apr 2010 18:20:23 +0000 (14:20 -0400)] 
[event-loop] Add reference count to event sources

This prevents the event loop from freeing sources
early in an iteration of the loop, and then dispatching
handlers for the source later in that same iteration.

15 years ago[drm] Drop drm/ from include directives
Frederic Crozat [Tue, 13 Apr 2010 15:43:13 +0000 (17:43 +0200)] 
[drm] Drop drm/ from include directives

One file was missing the fix.

15 years ago[configure] bump to 0.8.1 0.8.2
Ray Strode [Mon, 12 Apr 2010 17:39:58 +0000 (13:39 -0400)] 
[configure] bump to 0.8.1

15 years ago[boot-splash] Remove displays before unloading plugin
Ray Strode [Mon, 12 Apr 2010 17:17:33 +0000 (13:17 -0400)] 
[boot-splash] Remove displays before unloading plugin

If we don't do this, then the splash display handler will
still be set, causing all sorts of undefined and weird
behavior.

This makes hitting the escape key multiple times act more
reliable.

15 years ago[main] Use updated terminal attrs on crash
Ray Strode [Fri, 9 Apr 2010 20:07:11 +0000 (16:07 -0400)] 
[main] Use updated terminal attrs on crash

In commit ea394383c54dda771dcf59e7ec11280fa945280b I changed
the terminal settings used by ply-terminal.  This commit puts
those same settings into effect in the crash path.

15 years ago[main] add more debugging messages
Ray Strode [Fri, 9 Apr 2010 20:05:17 +0000 (16:05 -0400)] 
[main] add more debugging messages

15 years ago[configure] Add some heuristics to find drm headers
Ray Strode [Fri, 9 Apr 2010 19:33:28 +0000 (15:33 -0400)] 
[configure] Add some heuristics to find drm headers

On my system, some headers seem to be stuffed in /usr/include/libdrm
and other headers seem to be stuffed in /usr/include/drm .

I think the ultimate upstream goal is for everything to be in
/usr/include/libdrm but my system seems to be in some transition state.

My pkgconfig files only point me to one of the directories, so add some
heuristics to find the other one.

15 years ago[client] Allow unlimited unlock attempts
Ray Strode [Mon, 5 Apr 2010 14:14:47 +0000 (10:14 -0400)] 
[client] Allow unlimited unlock attempts

The ask-for-password command has an option
to specify the maximum number of retries to
get the correct password.  The default number
of retries was 3.  This makes sense for /opt,
and to a lesser degree /home, but it doesn't
make sense at all for /, since failing means
the system won't boot.

The new default is "unlimited".  This fixes the
/ case, but has the downside that all integration
code that was depending on the 3 default before
will need to get updated.

15 years ago[script] Reference this if function is called with current object as this
Charlie Brej [Fri, 2 Apr 2010 16:24:07 +0000 (17:24 +0100)] 
[script] Reference this if function is called with current object as this

If calling a function which is connected to the current object, the object
operated on in the function call is the current object. This is rarely used and
somehow survived without causing crashes despite incorrectly not increasing the
refcount.

15 years ago[drm] Conditionalize fb fallback with 1-head ttm
Ray Strode [Thu, 1 Apr 2010 18:37:41 +0000 (14:37 -0400)] 
[drm] Conditionalize fb fallback with 1-head ttm

When using the old style transition code path where
plymouth quits before X starts, we can't use the drm
renderer for single head nouveau and readeon setups
because their kernel memory manager doesn't allow userspace
write access to the console fb and the old style
transition code needs to dump the last frame of the
plymouth animation to the console fb as intermediate step
of the transition process.

The newer plymouth deactivate mechanism doesn't need the
intermediate console fb copy, so we can stick with the
drm renderer all the time.

This commit conditionalizes the "bail to frame-buffer renderer"
check based on whether the build is configured to enable
the old style transition.

15 years ago[script] Only attach to the keyboard if it has been set
Charlie Brej [Thu, 1 Apr 2010 16:26:58 +0000 (17:26 +0100)] 
[script] Only attach to the keyboard if it has been set

Don't add an input handler to a NULL keyboard.

15 years ago[script] Connect and disconnect the keyboard on start and stop
Charlie Brej [Thu, 1 Apr 2010 14:47:29 +0000 (15:47 +0100)] 
[script] Connect and disconnect the keyboard on start and stop

Previously we were connecting to the keyboard but not disconnecting from it as
unset_keyboard was not called before the plugin being destroyed. Now we connect
when on splash start and destroy which makes sure we disconnect before being
destroyed.

15 years ago[drm] Drop drm/ from include directives
Ray Strode [Thu, 1 Apr 2010 01:29:16 +0000 (21:29 -0400)] 
[drm] Drop drm/ from include directives

They've moved to a different directly with the latest
libdrm, and we should be relying on pkgconfig anyway.

15 years ago[terminal] Do not discard the input when turning the terminal unbuffered
Charlie Brej [Wed, 31 Mar 2010 18:16:36 +0000 (19:16 +0100)] 
[terminal] Do not discard the input when turning the terminal unbuffered

Drawing to renderers was resetting the terminal to unbuffered, but this was
also discarding any queued input keys. The fix should keep the input buffer
untouched.

15 years ago[frame-buffer] Initialize backend->head.map_address
Colin Watson [Tue, 30 Mar 2010 19:46:57 +0000 (20:46 +0100)] 
[frame-buffer] Initialize backend->head.map_address

It's possible for activate to be called before map_to_device, for
example if a non-graphical splash plugin is in use.  Initialize
map_address to MAP_FAILED so that we won't try to redraw in this
situation.

15 years ago[main] Watch keyboard input after the splash had a chance to quit
Charlie Brej [Mon, 29 Mar 2010 21:56:11 +0000 (22:56 +0100)] 
[main] Watch keyboard input after the splash had a chance to quit

If the splash hasn't picked up any displays it will abort. We wait for the
possible abort before attaching the keyboard. This is a slight hack as now
add_displays_and_keyboard_to_boot_splash no longer adds the keyboards. Also the
splash plugin can access the keyboard before it is officially opened.

For now it just fixes the terminal fd < 0 assertion bug.

15 years ago[main] watch keyboard input after displays are added
Ray Strode [Mon, 29 Mar 2010 19:20:44 +0000 (15:20 -0400)] 
[main] watch keyboard input after displays are added

Since the boot splashes handle opening the terminal now,
we need to make sure that we don't try to watch for input on
the terminal until they've opened it.

This should fix some crashes users are reportedly seeing with
the details splash.

A potentially better fix would be to make watch_for_input defer
doing anything on its own using the terminal is opened.  That
would require a trigger and some new api to ply-terminal, I think.