• Rami Ylimäki's avatar
    record: Prevent a crash on recording client disconnect. · 8b65f2ed
    Rami Ylimäki authored
    Execute the following steps to reproduce the issue.
      1. Run at least two recording clients simultaneously.
         $ cnee --record --request-range 1-127 &
         $ cnee --record --request-range 1-127 &
      2. Kill the recording clients.
         $ killall cnee
      3. Give X server something to do so that the clients are closed.
         $ xinput list
         $ xinput list
    As a result RecordUninstallHooks accesses NullClient, because
    RecordAClientStateChange doesn't clean the recording clients up
    Fix RecordUninstallHooks to fail locally on an assertion instead of
    much later in privates code, if NullClient is still accessed because
    of some other bug. Fix RecordAClientStateChange to iterate through all
    contexts so that modifications of the iterated array during iteration
    don't cause contexts to be skipped.
    Signed-off-by: default avatarRami Ylimäki <ext-rami.ylimaki@nokia.com>
    Reviewed-by: default avatarKeith Packard <keithp@keithp.com>
    Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
Last commit
Last update
Makefile.am Loading commit data...
record.c Loading commit data...
set.c Loading commit data...
set.h Loading commit data...