Hello community,

here is the log from the commit of package twinkle for openSUSE:Factory checked 
in at 2016-05-23 16:39:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/twinkle (Old)
 and      /work/SRC/openSUSE:Factory/.twinkle.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "twinkle"

Changes:
--------
--- /work/SRC/openSUSE:Factory/twinkle/twinkle.changes  2016-01-09 
23:13:49.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.twinkle.new/twinkle.changes     2016-05-23 
16:39:44.000000000 +0200
@@ -1,0 +2,20 @@
+Fri May 20 11:36:41 UTC 2016 - [email protected]
+
+- update to current git snapshot (commit 4627d49d5e2d)
+  * fix build against Qt 5.6
+  * drop Qt4 compatibility
+  * fix build against ucommon 7.0
+  * allow build against system libgsm
+  * crash fixes
+  * digest authentication case sensitivity fix
+  * other minor fixes (UI, spelling, translations)
+- build against system libgsm
+- fix-build-with-ucommon-7.0.patch:
+  deleted (merged into upstream)
+- twinkle-no-return-in-nonvoid-function.patch:
+  replace by DTMF-event-type-cleanup.patch (more complex, intended
+  for upstream)
+- Revert-Replaced-Boost-regex-dependency-with-C-11-reg.patch:
+  refresh
+
+-------------------------------------------------------------------

Old:
----
  fix-build-with-ucommon-7.0.patch
  twinkle-1.9.0.tar.xz
  twinkle-no-return-in-nonvoid-function.patch

New:
----
  DTMF-event-type-cleanup.patch
  twinkle-1.10~git20160520.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ twinkle.spec ++++++
--- /var/tmp/diff_new_pack.SMhSic/_old  2016-05-23 16:39:46.000000000 +0200
+++ /var/tmp/diff_new_pack.SMhSic/_new  2016-05-23 16:39:46.000000000 +0200
@@ -17,12 +17,20 @@
 
 
 Name:           twinkle
+Version:        1.10~git20160520
+Release:        0
+Summary:        A SIP Soft Phone
+License:        GPL-2.0+
+Group:          Productivity/Telephony/SIP/Clients
+Url:            https://twinkle.dolezel.info/
+Source:         %{name}-%{version}.tar.xz
 BuildRequires:  alsa-devel
 BuildRequires:  bison
 BuildRequires:  cmake
 BuildRequires:  fdupes
 BuildRequires:  file-devel
 BuildRequires:  flex
+BuildRequires:  libgsm-devel
 BuildRequires:  libqt5-qtbase-devel
 BuildRequires:  libqt5-qttools-devel
 BuildRequires:  libsndfile-devel
@@ -30,8 +38,6 @@
 BuildRequires:  pkgconfig
 BuildRequires:  readline-devel
 BuildRequires:  update-desktop-files
-Requires(post):  update-desktop-files
-Requires(postun):  update-desktop-files
 BuildRequires:  xorg-x11-devel
 BuildRequires:  pkgconfig(Qt5Declarative)
 BuildRequires:  pkgconfig(Qt5Quick)
@@ -39,6 +45,8 @@
 BuildRequires:  pkgconfig(libxml-2.0)
 BuildRequires:  pkgconfig(speex)
 BuildRequires:  pkgconfig(speexdsp)
+Requires(post): update-desktop-files
+Requires(postun): update-desktop-files
 %if 0%{?suse_version} <= 1320
 BuildRequires:  boost-devel
 %endif
@@ -47,27 +55,20 @@
 %else
 BuildRequires:  ilbc
 %endif
-Summary:        A SIP Soft Phone
-License:        GPL-2.0+
-Group:          Productivity/Telephony/SIP/Clients
-Version:        1.9.0
-Release:        0
-Source:         %{name}-%{version}.tar.xz
-Patch1:         twinkle-no-return-in-nonvoid-function.patch
-Patch2:         fix-build-with-ucommon-7.0.patch
+
+Patch1:         DTMF-event-type-cleanup.patch
 # workaround for broken std::regex in gcc 4.8; please keep at the end
 Patch91:        Revert-Build-fix-for-a-probably-broken-std-match_res.patch
 Patch92:        Revert-Replaced-Boost-regex-dependency-with-C-11-reg.patch
-Url:            https://twinkle.dolezel.info/
 
 %description
 Twinkle is a SIP-based soft phone for making telephone calls over IP
 networks.
 
+
 %prep
 %setup -q
 %patch1 -p1
-%patch2 -p1
 # workaround for broken std::regex in gcc 4.8
 %if 0%{?suse_version} <= 1320
 %patch91 -p1
@@ -79,6 +80,7 @@
   -DWITH_ZRTP=ON \
   -DWITH_SPEEX=ON \
   -DWITH_ILBC=ON \
+  -DWITH_GSM=ON \
   -DWITH_ALSA=ON \
   -DWITH_QT5=ON
 make %{?_smp_mflags}
@@ -102,6 +104,8 @@
 %{_bindir}/twinkle-console
 %{_datadir}/%{name}
 %{_datadir}/pixmaps/twinkle.png
+%{_datadir}/icons/hicolor
 %{_datadir}/applications/twinkle.desktop
+%{_mandir}/man1/twinkle.1.gz
 
 %changelog

++++++ DTMF-event-type-cleanup.patch ++++++
From: Michal Kubecek <[email protected]>
Date: Fri, 20 May 2016 09:48:18 +0200
Subject: DTMF event type cleanup
Patch-mainline: Not yet, going to submit

DTMF event constants handling is a bit messy as three different types
are used in different source files, triggering various compiler
warnings. Introduce t_dtmf_ev type and use it everywhere, also replace
helper macros by inline functions.
---
 src/audio/audio_rx.cpp            |  2 +-
 src/audio/audio_rx.h              |  4 ++--
 src/audio/dtmf_player.cpp         |  6 +++---
 src/audio/dtmf_player.h           |  8 ++++----
 src/audio/freq_gen.cpp            |  3 ++-
 src/audio/freq_gen.h              |  4 +++-
 src/audio/rtp_telephone_event.cpp |  8 ++++++--
 src/audio/rtp_telephone_event.h   | 25 ++++++++++++++++++++-----
 src/dialog.cpp                    |  2 +-
 src/events.cpp                    |  2 +-
 src/events.h                      |  5 +++--
 src/gui/gui.cpp                   | 10 +++++-----
 src/gui/gui.h                     |  4 ++--
 src/parser/sip_body.cpp           |  2 +-
 src/userintf.cpp                  | 14 +++++++-------
 src/userintf.h                    |  8 ++++----
 16 files changed, 65 insertions(+), 42 deletions(-)

diff --git a/src/audio/audio_rx.cpp b/src/audio/audio_rx.cpp
index 9435ac4447f2..e605fcfcc31f 100644
--- a/src/audio/audio_rx.cpp
+++ b/src/audio/audio_rx.cpp
@@ -657,7 +657,7 @@ void t_audio_rx::set_pt_telephone_event(int pt) {
 
 void t_audio_rx::push_dtmf(char digit, bool inband) {
        // Ignore invalid DTMF digits
-       if (!VALID_DTMF_SYM(digit)) return;
+       if (!is_valid_dtmf_sym(digit)) return;
 
        // Ignore DTMF tones in a 3-way conference
        if (is_3way) return;
diff --git a/src/audio/audio_rx.h b/src/audio/audio_rx.h
index 5db87627a6db..88d8884bff0a 100644
--- a/src/audio/audio_rx.h
+++ b/src/audio/audio_rx.h
@@ -109,8 +109,8 @@ private:
 
        // Queue of DTMF tones to be sent
        struct t_dtmf_event {
-               uint8   dtmf_tone;
-               bool    inband;
+               t_dtmf_ev       dtmf_tone;
+               bool            inband;
        };
        
        queue<t_dtmf_event>     dtmf_queue;
diff --git a/src/audio/dtmf_player.cpp b/src/audio/dtmf_player.cpp
index d3d5909cb6c8..54c2580d01cc 100644
--- a/src/audio/dtmf_player.cpp
+++ b/src/audio/dtmf_player.cpp
@@ -30,7 +30,7 @@
 /////////////////////////////////////////
 
 t_dtmf_player::t_dtmf_player(t_audio_rx *audio_rx, t_audio_encoder 
*audio_encoder, 
-                       t_user *user_config, uint8 dtmf_tone, uint32 
dtmf_timestamp,
+                       t_user *user_config, t_dtmf_ev dtmf_tone, uint32 
dtmf_timestamp,
                        uint16 nsamples) :
        _audio_rx(audio_rx),
        _user_config(user_config),
@@ -57,7 +57,7 @@ bool t_dtmf_player::finished(void) {
 
 t_rtp_event_dtmf_player::t_rtp_event_dtmf_player(t_audio_rx *audio_rx, 
                        t_audio_encoder *audio_encoder, t_user *user_config,
-                       uint8 dtmf_tone, uint32 dtmf_timestamp,
+                       t_dtmf_ev dtmf_tone, uint32 dtmf_timestamp,
                        uint16 nsamples) : 
        t_dtmf_player(audio_rx, audio_encoder, user_config, dtmf_tone, 
dtmf_timestamp, 
                        nsamples)
@@ -125,7 +125,7 @@ uint16 t_rtp_event_dtmf_player::get_payload(uint8 *payload,
 
 t_inband_dtmf_player::t_inband_dtmf_player(t_audio_rx *audio_rx, 
                t_audio_encoder *audio_encoder, t_user *user_config,
-               uint8 dtmf_tone, uint32 dtmf_timestamp,
+               t_dtmf_ev dtmf_tone, uint32 dtmf_timestamp,
                uint16 nsamples) :
        t_dtmf_player(audio_rx, audio_encoder, user_config, dtmf_tone, 
dtmf_timestamp, 
                        nsamples),
diff --git a/src/audio/dtmf_player.h b/src/audio/dtmf_player.h
index 01452897a2a4..de10bb13bed4 100644
--- a/src/audio/dtmf_player.h
+++ b/src/audio/dtmf_player.h
@@ -41,14 +41,14 @@ protected:
        // Settings for current DTMF tone
        bool            _dtmf_pause;      // indicates if playing is in the 
pause phase
        bool            _dtmf_stop;       // indicates if DTMF should be stopped
-       uint8           _dtmf_current;    // Currently played DTMF tone
+       t_dtmf_ev       _dtmf_current;    // Currently played DTMF tone
        uint32          _dtmf_timestamp;  // RTP timestamp (start of tone)
        uint16          _dtmf_duration;   // Duration of the tone currently 
played
        uint16          _nsamples;        // number of samples taken per packet
        
 public:
        t_dtmf_player(t_audio_rx *audio_rx, t_audio_encoder *audio_encoder,
-               t_user *user_config, uint8 dtmf_tone, uint32 dtmf_timestamp,
+               t_user *user_config, t_dtmf_ev dtmf_tone, uint32 dtmf_timestamp,
                uint16 nsamples);
                
        virtual ~t_dtmf_player() {};
@@ -71,7 +71,7 @@ public:
 class t_rtp_event_dtmf_player : public t_dtmf_player {
 public:
        t_rtp_event_dtmf_player(t_audio_rx *audio_rx, t_audio_encoder 
*audio_encoder,
-               t_user *user_config, uint8 dtmf_tone, uint32 dtmf_timestamp,
+               t_user *user_config,  t_dtmf_ev dtmf_tone, uint32 
dtmf_timestamp,
                uint16 nsamples);
        
        virtual uint16 get_payload(uint8 *payload, uint16 payload_size,
@@ -87,7 +87,7 @@ private:
        
 public:
        t_inband_dtmf_player(t_audio_rx *audio_rx, t_audio_encoder 
*audio_encoder,
-               t_user *user_config, uint8 dtmf_tone, uint32 dtmf_timestamp,
+               t_user *user_config, t_dtmf_ev dtmf_tone, uint32 dtmf_timestamp,
                uint16 nsamples);
        
        virtual uint16 get_payload(uint8 *payload, uint16 payload_size,
diff --git a/src/audio/freq_gen.cpp b/src/audio/freq_gen.cpp
index 5aad228e89a5..0ba669ee0cdb 100644
--- a/src/audio/freq_gen.cpp
+++ b/src/audio/freq_gen.cpp
@@ -35,7 +35,7 @@ t_freq_gen::t_freq_gen(vector<uint16> frequencies, int8 
db_level) {
        _amplitude = int16(pow(10.0, db_level / 20.0) * 32767 / 
_frequencies.size());
 }
 
-t_freq_gen::t_freq_gen(uint8 dtmf, int8 db_level) : _frequencies(2)
+t_freq_gen::t_freq_gen(t_dtmf_ev dtmf, int8 db_level) : _frequencies(2)
 {
        assert(db_level <= 0);
        
@@ -106,6 +106,7 @@ t_freq_gen::t_freq_gen(uint8 dtmf, int8 db_level) : 
_frequencies(2)
                break;
        default:
                assert(false);
+               _frequencies.clear();
        }
                
        // dB = 20 * log(amplitude / 32768)
diff --git a/src/audio/freq_gen.h b/src/audio/freq_gen.h
index 6817baa2f7d5..40818fab5702 100644
--- a/src/audio/freq_gen.h
+++ b/src/audio/freq_gen.h
@@ -28,6 +28,8 @@
 #include <vector>
 #include <commoncpp/config.h>
 
+#include "rtp_telephone_event.h"
+
 using namespace std;
 
 class t_freq_gen {
@@ -37,7 +39,7 @@ private:
        
 public:
        t_freq_gen(vector<uint16> frequencies, int8 db_level);
-       t_freq_gen(uint8 dtmf, int8 db_level);
+       t_freq_gen(t_dtmf_ev dtmf, int8 db_level);
        
        // Get sound sample on a particular timestamp in us.
        int16 get_sample(uint32 ts_usec) const;
diff --git a/src/audio/rtp_telephone_event.cpp 
b/src/audio/rtp_telephone_event.cpp
index a076531701d7..b4f4c00ab624 100644
--- a/src/audio/rtp_telephone_event.cpp
+++ b/src/audio/rtp_telephone_event.cpp
@@ -60,16 +60,18 @@ unsigned short t_rtp_telephone_event::get_duration(void) 
const {
        return ntohs(duration);
 }
 
-unsigned char char2dtmf_ev(char sym) {
+t_dtmf_ev char2dtmf_ev(char sym) {
        if (sym >= '0' && sym <= '9') return (sym - '0' + TEL_EV_DTMF_0);
        if (sym >= 'A' && sym <= 'D') return (sym - 'A' + TEL_EV_DTMF_A);
        if (sym >= 'a' && sym <= 'd') return (sym-  'a' + TEL_EV_DTMF_A);
        if (sym == '*') return TEL_EV_DTMF_STAR;
        if (sym == '#') return TEL_EV_DTMF_POUND;
+
        assert(false);
+       return TEL_EV_DTMF_INVALID;
 }
 
-char dtmf_ev2char(unsigned char ev) {
+char dtmf_ev2char(t_dtmf_ev ev) {
        if (ev <= TEL_EV_DTMF_9) {
                return ev + '0' - TEL_EV_DTMF_0;
        }
@@ -78,6 +80,8 @@ char dtmf_ev2char(unsigned char ev) {
        }
        if (ev == TEL_EV_DTMF_STAR) return '*';
        if (ev == TEL_EV_DTMF_POUND) return '#';
+
        assert(false);
+       return '?';
 }
 
diff --git a/src/audio/rtp_telephone_event.h b/src/audio/rtp_telephone_event.h
index 372504cd4edc..5f8d0053f3f1 100644
--- a/src/audio/rtp_telephone_event.h
+++ b/src/audio/rtp_telephone_event.h
@@ -25,6 +25,8 @@
 
 // RFC 2833 3.10
 // DTMF events
+typedef unsigned char t_dtmf_ev;
+
 #define        TEL_EV_DTMF_0           0
 #define        TEL_EV_DTMF_1           1
 #define        TEL_EV_DTMF_2           2
@@ -41,12 +43,25 @@
 #define        TEL_EV_DTMF_B           13
 #define        TEL_EV_DTMF_C           14
 #define        TEL_EV_DTMF_D           15
+#define        TEL_EV_DTMF_INVALID     ((t_dtmf_ev) 0xff)
+
+static inline bool is_valid_dtmf_ev(t_dtmf_ev ev)
+{
+       return (ev <= TEL_EV_DTMF_D);
+}
 
-#define VALID_DTMF_EV(ev)      ( (ev) <= TEL_EV_DTMF_D )
-#define VALID_DTMF_SYM(s)      ( ((s) >= '0' && (s) <= '9') || \
-                                 ((s) >= 'a' && (s) <= 'd') || \
-                                 ((s) >= 'A' && (s) <= 'D') || \
-                                 (s) == '*' || (s) == '#' )
+static inline bool is_valid_dtmf_sym(char s)
+{
+       if (s >= '0' && s <= '9')
+               return true;
+       if (s >= 'a' && s <= 'd')
+               return true;
+       if (s >= 'A' && s <= 'D')
+               return true;
+       if (s == '*' || s == '#')
+               return true;
+       return false;
+}
 
 // RFC 2833 3.5
 // Payload format (in network order!!)
diff --git a/src/dialog.cpp b/src/dialog.cpp
index f6e1790d1c4d..b6e58f59acc5 100644
--- a/src/dialog.cpp
+++ b/src/dialog.cpp
@@ -1268,7 +1268,7 @@ void t_dialog::process_info(t_request *r, t_tuid tuid, 
t_tid tid) {
        }
        
        char dtmf_signal = ((t_sip_body_dtmf_relay *)r->body)->signal;
-       if (!VALID_DTMF_SYM(dtmf_signal)) {
+       if (!is_valid_dtmf_sym(dtmf_signal)) {
                resp = r->create_response(R_400_BAD_REQUEST, "Invalid DTMF 
signal");
                line->send_response(resp, tuid, tid);
                MEMMAN_DELETE(resp);
diff --git a/src/events.cpp b/src/events.cpp
index dcd30d881a97..a773a73783fd 100644
--- a/src/events.cpp
+++ b/src/events.cpp
@@ -385,7 +385,7 @@ void t_event_ui::set_codec(t_audio_codec _codec) {
        codec = _codec;
 }
 
-void t_event_ui::set_dtmf_event(char _dtmf_event) {
+void t_event_ui::set_dtmf_event(t_dtmf_ev _dtmf_event) {
        dtmf_event = _dtmf_event;
 }
 
diff --git a/src/events.h b/src/events.h
index 460ae9549169..a2308527ddba 100644
--- a/src/events.h
+++ b/src/events.h
@@ -29,6 +29,7 @@
 #include "timekeeper.h"
 #include "stun/stun.h"
 #include "audio/audio_codecs.h"
+#include "audio/rtp_telephone_event.h"
 #include "parser/sip_message.h"
 #include "sockets/socket.h"
 #include "sockets/url.h"
@@ -497,7 +498,7 @@ private:
        //@{
        int             line;           /**< Line number. */
        t_audio_codec   codec;          /**< Audio codec. */
-       char            dtmf_event;     /**< DTMF event. */
+       t_dtmf_ev       dtmf_event;     /**< DTMF event. */
        bool            encrypted;      /**< Encryption indication. */
        string          cipher_mode;    /**< Cipher mode (algorithm name). */
        string          zrtp_sas;       /**< ZRTP SAS/ */
@@ -518,7 +519,7 @@ public:
        //@{
        void set_line(int _line);
        void set_codec(t_audio_codec _codec);
-       void set_dtmf_event(char _dtmf_event);
+       void set_dtmf_event(t_dtmf_ev _dtmf_event);
        void set_encrypted(bool on);
        void set_cipher_mode(const string &_cipher_mode);
        void set_zrtp_sas(const string &sas);
diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp
index 752ae966b606..160f982d915c 100644
--- a/src/gui/gui.cpp
+++ b/src/gui/gui.cpp
@@ -1822,7 +1822,7 @@ void t_gui::cb_stop_call_notification(int line) {
        unlock();
 }
 
-void t_gui::cb_dtmf_detected(int line, char dtmf_event) {
+void t_gui::cb_dtmf_detected(int line, t_dtmf_ev dtmf_event) {
        if (line >= NUM_USER_LINES) return;
        
        lock();
@@ -1831,7 +1831,7 @@ void t_gui::cb_dtmf_detected(int line, char dtmf_event) {
        emit mw_display_header();
        s = qApp->translate("GUI", "Line %1: DTMF detected:").arg(line + 
1).append(" ");
        
-       if (VALID_DTMF_EV(dtmf_event)) {
+       if (is_valid_dtmf_ev(dtmf_event)) {
                s.append(dtmf_ev2char(dtmf_event));
        } else {
                s.append(qApp->translate("GUI", "invalid DTMF telephone event 
(%1)").arg(
@@ -1843,13 +1843,13 @@ void t_gui::cb_dtmf_detected(int line, char dtmf_event) 
{
        unlock();
 }
 
-void t_gui::cb_send_dtmf(int line, char dtmf_event) {
+void t_gui::cb_send_dtmf(int line, t_dtmf_ev dtmf_event) {
        if (line >= NUM_USER_LINES) return;
        
        lock();
        QString s;
        
-       if (!VALID_DTMF_EV(dtmf_event)) return;
+       if (!is_valid_dtmf_ev(dtmf_event)) return;
        
        emit mw_display_header();
        s = qApp->translate("GUI", "Line %1: send DTMF %2").arg(line + 1).arg(
@@ -2988,7 +2988,7 @@ void t_gui::action_dtmf(const string &digits) {
        if (!call_info.dtmf_supported) return;
        
        for (string::const_iterator i = digits.begin(); i != digits.end(); i++) 
{
-               if (VALID_DTMF_SYM(*i)) {
+               if (is_valid_dtmf_sym(*i)) {
                        phone->pub_send_dtmf(*i, call_info.dtmf_inband, 
call_info.dtmf_info);
                }
        }
diff --git a/src/gui/gui.h b/src/gui/gui.h
index 10f5ea270b4d..db27ad03f19d 100644
--- a/src/gui/gui.h
+++ b/src/gui/gui.h
@@ -242,8 +242,8 @@ public:
        void cb_notify_call(int line, const QString &from_party, const QString 
&organization,
                           const QImage &photo, const QString &subject, QString 
&referred_by_party);
        void cb_stop_call_notification(int line);
-       void cb_dtmf_detected(int line, char dtmf_event);
-       void cb_send_dtmf(int line, char dtmf_event);
+       void cb_dtmf_detected(int line, t_dtmf_ev dtmf_event);
+       void cb_send_dtmf(int line, t_dtmf_ev dtmf_event);
        void cb_dtmf_not_supported(int line);
        void cb_dtmf_supported(int line);
        void cb_line_state_changed(void);
diff --git a/src/parser/sip_body.cpp b/src/parser/sip_body.cpp
index cc95f8575cc3..2ee455b92dc9 100644
--- a/src/parser/sip_body.cpp
+++ b/src/parser/sip_body.cpp
@@ -247,7 +247,7 @@ bool t_sip_body_dtmf_relay::parse(const string &s) {
                if (value.empty()) continue;
                
                if (parameter == "signal") {
-                       if (!VALID_DTMF_SYM(value[0])) return false;
+                       if (!is_valid_dtmf_sym(value[0])) return false;
                        signal = value[0];
                        valid = true;
                } else if (parameter == "duration") {
diff --git a/src/userintf.cpp b/src/userintf.cpp
index a019d9813b6e..6327ed846797 100644
--- a/src/userintf.cpp
+++ b/src/userintf.cpp
@@ -1001,7 +1001,7 @@ void t_userintf::do_dtmf(const string &digits) {
        if (!call_info.dtmf_supported) return;
        
        for (string::const_iterator i = digits.begin(); i != digits.end(); i++) 
{
-               if (VALID_DTMF_SYM(*i)) {
+               if (is_valid_dtmf_sym(*i)) {
                        phone->pub_send_dtmf(*i, call_info.dtmf_inband, 
call_info.dtmf_info);
                }
        }
@@ -2939,13 +2939,13 @@ void t_userintf::cb_stop_call_notification(int line) {
        cb_stop_tone(line);
 }
 
-void t_userintf::cb_dtmf_detected(int line, char dtmf_event) {
+void t_userintf::cb_dtmf_detected(int line, t_dtmf_ev dtmf_event) {
        if (line >= NUM_USER_LINES) return;
        
        cout << endl;
        cout << "Line " << line + 1 << ": DTMF detected: ";
 
-       if (VALID_DTMF_EV(dtmf_event)) {
+       if (is_valid_dtmf_ev(dtmf_event)) {
                cout << dtmf_ev2char(dtmf_event) << endl;
        } else {
                cout << "invalid DTMF telephone event (" << (int)dtmf_event << 
endl;
@@ -2955,22 +2955,22 @@ void t_userintf::cb_dtmf_detected(int line, char 
dtmf_event) {
        cout.flush();
 }
 
-void t_userintf::cb_async_dtmf_detected(int line, char dtmf_event) {
+void t_userintf::cb_async_dtmf_detected(int line, t_dtmf_ev dtmf_event) {
        if (line >= NUM_USER_LINES) return;
        
        t_event_ui *event = new t_event_ui(TYPE_UI_CB_DTMF_DETECTED);
        MEMMAN_NEW(event);
        
        event->set_line(line);
-       event->set_dtmf_event(dtmf_event);      
+       event->set_dtmf_event(dtmf_event);
        evq_ui_events.push(event);
 }
 
-void t_userintf::cb_send_dtmf(int line, char dtmf_event) {
+void t_userintf::cb_send_dtmf(int line, t_dtmf_ev dtmf_event) {
        // No feed back in CLI
 }
 
-void t_userintf::cb_async_send_dtmf(int line, char dtmf_event) {
+void t_userintf::cb_async_send_dtmf(int line, t_dtmf_ev dtmf_event) {
        t_event_ui *event = new t_event_ui(TYPE_UI_CB_SEND_DTMF);
        MEMMAN_NEW(event);
        
diff --git a/src/userintf.h b/src/userintf.h
index e9b560605785..9bb5b8032aae 100644
--- a/src/userintf.h
+++ b/src/userintf.h
@@ -270,10 +270,10 @@ public:
         virtual void cb_stop_tone(int line);
         virtual void cb_notify_call(int line, string from_party);
         virtual void cb_stop_call_notification(int line);
-       virtual void cb_dtmf_detected(int line, char dtmf_event);
-       virtual void cb_async_dtmf_detected(int line, char dtmf_event);
-       virtual void cb_send_dtmf(int line, char dtmf_event);
-       virtual void cb_async_send_dtmf(int line, char dtmf_event);
+       virtual void cb_dtmf_detected(int line, t_dtmf_ev dtmf_event);
+       virtual void cb_async_dtmf_detected(int line, t_dtmf_ev dtmf_event);
+       virtual void cb_send_dtmf(int line, t_dtmf_ev dtmf_event);
+       virtual void cb_async_send_dtmf(int line, t_dtmf_ev dtmf_event);
        virtual void cb_dtmf_not_supported(int line);
        virtual void cb_dtmf_supported(int line);
        virtual void cb_line_state_changed(void);
-- 
2.8.2

++++++ Revert-Replaced-Boost-regex-dependency-with-C-11-reg.patch ++++++
--- /var/tmp/diff_new_pack.SMhSic/_old  2016-05-23 16:39:46.000000000 +0200
+++ /var/tmp/diff_new_pack.SMhSic/_new  2016-05-23 16:39:46.000000000 +0200
@@ -8,23 +8,22 @@
 As std::regex is broken in gcc < 4.9, we need to stick with boost regex
 for gcc 4.8 builds.
 ---
- CMakeLists.txt                   |  3 ++-
+ CMakeLists.txt                   |  1 +
  README.md                        |  1 +
- src/CMakeLists.txt               |  2 +-
+ src/CMakeLists.txt               |  1 +
  src/call_history.cpp             |  6 +++---
- src/gui/CMakeLists.txt           |  2 +-
  src/gui/numberconversionform.cpp |  4 ++--
  src/gui/userprofileform.cpp      |  4 ++--
  src/mwi/simple_msg_sum_body.cpp  | 20 ++++++++++----------
  src/user.cpp                     |  8 ++++----
  src/user.h                       |  8 ++++----
- 10 files changed, 30 insertions(+), 28 deletions(-)
+ 9 files changed, 28 insertions(+), 25 deletions(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d41f74945364..4bf8cbf9fce2 100644
+index d8841729dcf6..b6e2f92f0409 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -29,6 +29,7 @@ find_package(LibSndfile REQUIRED)
+@@ -26,6 +26,7 @@ find_package(LibSndfile REQUIRED)
  find_package(Readline REQUIRED)
  find_package(BISON REQUIRED)
  find_package(FLEX REQUIRED)
@@ -32,18 +31,8 @@
  find_package(Commoncpp REQUIRED)
  find_package(Ccrtp REQUIRED)
  find_package(Ucommon REQUIRED)
-@@ -42,8 +43,8 @@ if (WITH_QT4)
- elseif (WITH_QT5)
-       find_package(Qt5Widgets REQUIRED)
-       find_package(Qt5LinguistTools REQUIRED)
--      find_package(Qt5Declarative REQUIRED)
-       find_package(Qt5Quick REQUIRED)
-+      find_package(Qt5Declarative REQUIRED)
-       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} 
${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS} 
${Qt5Declarative_EXECUTABLE_COMPILE_FLAGS}")
-       include_directories(${Qt5Widgets_INCLUDES} ${Qt5Declarative_INCLUDES})
-       add_definitions(${Qt5Widgets_DEFINITIONS} ${Qt5Declarative_DEFINITIONS})
 diff --git a/README.md b/README.md
-index 15891ff05dcd..2caba485d321 100644
+index 34d690865f8c..c539cf76b8d0 100644
 --- a/README.md
 +++ b/README.md
 @@ -9,6 +9,7 @@ To compile Twinkle you need the following libraries:
@@ -52,21 +41,20 @@
  * libxml2
 +* Boost regex
  * libsndfile
- * Qt 4 or Qt 5
+ * Qt 5
  
 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index b1b06071b4ab..ec3aa62206d8 100644
+index 01f4997e7900..036208074396 100644
 --- a/src/CMakeLists.txt
 +++ b/src/CMakeLists.txt
-@@ -79,7 +79,7 @@ endif (WITH_QT4 OR WITH_QT5)
- target_link_libraries(twinkle-console -lpthread -lresolv ${LibMagic_LIBRARY} 
${LIBXML2_LIBRARIES}
-       ${Readline_LIBRARY} ${ILBC_LIBRARIES} ${SPEEX_LIBRARIES} 
${ZRTPCPP_LIBRARIES}
-       ${CCRTP_LIBRARIES} ${COMMONCPP_LIBRARIES} ${UCOMMON_LIBRARIES} 
${LIBSNDFILE_LIBRARY}
--      ${ALSA_LIBRARY} ${G729_LIBRARY})
-+      ${Boost_LIBRARIES} ${ALSA_LIBRARY} ${G729_LIBRARY})
- 
- install(TARGETS twinkle-console DESTINATION bin)
- 
+@@ -93,6 +93,7 @@ set(twinkle_LIBS
+       ${COMMONCPP_LIBRARIES}
+       ${UCOMMON_LIBRARIES}
+       ${LIBSNDFILE_LIBRARY}
++      ${Boost_LIBRARIES}
+       ${ALSA_LIBRARY}
+       ${G729_LIBRARY}
+ )
 diff --git a/src/call_history.cpp b/src/call_history.cpp
 index cf9ff5cbebd4..4fa4af789f11 100644
 --- a/src/call_history.cpp
@@ -84,19 +72,6 @@
        
        if (!set_direction(v[3])) return false;
        
-diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
-index c178b9c9aced..57b8a195813f 100644
---- a/src/gui/CMakeLists.txt
-+++ b/src/gui/CMakeLists.txt
-@@ -134,7 +134,7 @@ add_executable(twinkle ${TWINKLE_GUI-SRCS})
- target_link_libraries(twinkle -lpthread -lresolv ${LibMagic_LIBRARY} 
${LIBXML2_LIBRARIES}
-       ${Readline_LIBRARY} ${ILBC_LIBRARIES} ${SPEEX_LIBRARIES} 
${ZRTPCPP_LIBRARIES}
-       ${CCRTP_LIBRARIES} ${COMMONCPP_LIBRARIES} ${UCOMMON_LIBRARIES} 
${LIBSNDFILE_LIBRARY}
--      ${ALSA_LIBRARY} ${qt_LIBS} ${G729_LIBRARY})
-+      ${Boost_LIBRARIES} ${ALSA_LIBRARY} ${qt_LIBS} ${G729_LIBRARY})
- 
- install(TARGETS twinkle DESTINATION bin)
- install(FILES ${twinkle_LANG} DESTINATION share/twinkle/lang)
 diff --git a/src/gui/numberconversionform.cpp 
b/src/gui/numberconversionform.cpp
 index f8ae64c59a30..af95dd2ff1a8 100644
 --- a/src/gui/numberconversionform.cpp
@@ -240,5 +215,5 @@
  
  
 -- 
-2.4.5
+2.8.2
 


Reply via email to