evdev: always store user calibration matrix

In evdev_device_calibrate, the user matrix was not being stored when it
was the identity matrix. This resulted in
libinput_device_config_calibration_get_matrix not providing the correct
matrix. Instead of giving the identity matrix, the last non-identity
matrix set was given.

This just moves the storage of the user matrix in
evdev_device_calibrate to be above the identity matrix early return so
that it always get stored.

Signed-off-by: Brian Ashworth <bosrsf04@gmail.com>
24 jobs for always-store-matrix in 3 minutes and 52 seconds (queued for 5 seconds)
latest
Status Job ID Name Coverage
  Container Prep
passed #471170
arch:rolling@container-prep

00:00:20

passed #471167
fedora:29@container-prep

00:00:22

passed #471166
fedora:30@container-prep

00:00:25

passed #471171
freebsd:11.2@container-prep

00:00:26

passed #471168
ubuntu:18.10@container-prep

00:00:23

passed #471169
ubuntu:19.04@container-prep

00:00:20

 
  Build
passed #471187
arch:rolling@default-build

00:01:31

passed #471172
fedora:29@default-build

00:01:20

passed #471180
fedora:30@build-no-debuggui

00:01:22

passed #471181
fedora:30@build-no-debuggui-nodeps

00:01:23

passed #471178
fedora:30@build-no-docs

00:01:10

passed #471179
fedora:30@build-no-docs-nodeps

00:01:10

passed #471176
fedora:30@build-no-libwacom

00:01:21

passed #471177
fedora:30@build-no-libwacom-nodeps

00:01:14

passed #471182
fedora:30@build-no-tests

00:01:22

passed #471183
fedora:30@build-no-tests-nodeps

00:01:21

passed #471173
fedora:30@default-build

00:01:23

passed #471174
fedora:30@default-build-release

00:00:32

passed #471175
fedora:30@scan-build

00:02:44

passed #471184
fedora:30@valgrind

00:01:18

passed #471189
freebsd:11.2@default-build

00:00:16

passed #471185
ubuntu:18.10@default-build

00:01:18

passed #471186
ubuntu:19.04@default-build

00:01:19

failed #471188
freebsd:11.2@default-build

00:00:14