Citation: 6B_441/2019 E. 4

Die Beschwerde ist teilweise gutzuheissen. Das angefochtene Urteil ist aufzuheben und die Sache ist zu neuer Beurteilung im Sinne der Erwägungen an das Obergericht des Kantons Solothurn zurückzuweisen. Im Übrigen ist die Beschwerde abzuweisen. Der Beschwerdeführer hat im Ausmass seines Unterliegens die Gerichtskosten zu tragen, während dem Kanton Solothurn keine Kosten aufzuerlegen sind (Art. 66 Abs. 1 und 4 BGG). Dieser hat aber dem Beschwerdeführer eine reduzierte Parteientschädigung zu bezahlen (Art. 68 Abs. 1 und 2 BGG).