Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. segmentation fault

segmentation fault

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
qt 4.8cross-compilingarmv7mqtt
61 Posts 6 Posters 24.6k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • jsulmJ jsulm

    @Milav Please show where exactly you're calling

    mosq = new qtmosq();
    

    It must be inside one of the MainWindow methods.

    MilavM Offline
    MilavM Offline
    Milav
    wrote on last edited by
    #9

    @jsulm

    i call it in mainwindow.cpp file.

    here i have send the code snip for that portion.

    mainwindow.cpp

    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        ui->send->setDisabled(true);
        ui->message->setDisabled(true);
        ui->subscribe->setDisabled(true);
        ui->topic->setDisabled(true);
    
        ui->lineIP->setText(QString("a3jkuztr3frwt4-ats.iot.ap-south-1.amazonaws.com"));
        ui->linePort->setText(QString("8883"));
    
        lib_init();
    
        connect (ui->connect, SIGNAL(clicked()), this, SLOT(connectPressed()));
        connect (ui->send, SIGNAL(clicked()), this, SLOT(sendPressed()));
        connect (ui->subscribe, SIGNAL(clicked()), this, SLOT(subscribePressed()));
    }
    
    void MainWindow::connectPressed()
    {
        QByteArray host = ui->lineIP->text().toLocal8Bit();
        QByteArray id = ui->lineID->text().toLocal8Bit();
    
        int port = 0;
        port = ui->linePort->text().toInt();
        if (!port)
        {
            ui->linePort->clear();
            return ;
        }
        ui->connect->setDisabled(true);
    
    
        mosq = new qtmosq(id, true);
        int size = sizeof(*mosq);
        qDebug() << size;
        connect (mosq, SIGNAL(connectEnable()), this, SLOT(connectEnabled()));
        connect (mosq, SIGNAL(subscribed()), this ,SLOT(subscribed()));
        connect (mosq, SIGNAL(connected()), this, SLOT(connected()));
        connect (mosq, SIGNAL(messageSent(bool)), this, SLOT(setMessageStatus(bool)));
        connect (mosq, SIGNAL(messageReceived(QString)), this, SLOT(showMessage(QString)));
        mosq->connect_async(host.data(), port);
        mosq->loop_start();
    
    }
    

    mainwindow.h

    #include <QMainWindow>
    #include "qtmosq.h"
    
    namespace Ui {
    class MainWindow;
    }
    
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
    
    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();
    
    private:
        qtmosq* mosq;
        QStringList subed;
        QString currentTopic;
        Ui::MainWindow *ui;
    
    private slots:
        void setMessageStatus(bool);
        void connectPressed();
        void sendPressed();
        void connectEnabled();
        void subscribePressed();
        void subscribed();
        void connected();
        void showMessage(QString);
    };
    

    qtmosq.h

    #ifndef QTMOSQ_H
    #define QTMOSQ_H
    
    #include "QObject"
    #include "mosquittopp.h"
    
    using namespace mosqpp;
    
    class qtmosq : public QObject, public mosquittopp
    {
        Q_OBJECT
    
    public:
        qtmosq(const char *id = NULL, bool clean_session = true) : mosquittopp (id, clean_session) {MID = 0;}
        ~qtmosq() {}
    
        void on_connect(int result)
        {
            if (!result)
            {
                //subscribe(NULL, "$SYS/#", 2);
                emit connected();
            }
            else
                emit connectEnable();
        }
        void on_publish(int id)
        {
            MID++;
            emit messageSent(true);
        }
        void on_subscribe(int mid, int qos_count, const int *granted_qos)
        {
            if (MID != 0)
                emit subscribed();
            MID++;
        }
        void on_message(const mosquitto_message *message)
        {
            if (message->payloadlen)
            {
                QString s(message->topic);
                s += '>';
                s += (char*) message->payload;
                emit messageReceived(s);
            }
        }
    
        int* getMID() {return &MID;}
    
    private:
        int MID;
    
    signals:
        void connected();
        void messageSent(bool);
        void messageReceived(QString);
        void connectEnable();
        void subscribed();
    };
    
    #endif // QTMOSQ_H
    
    

    here above i send the code for the same.

    if you get more please tell me.

    jsulmJ 1 Reply Last reply
    0
    • MilavM Milav

      @jsulm

      i call it in mainwindow.cpp file.

      here i have send the code snip for that portion.

      mainwindow.cpp

      MainWindow::MainWindow(QWidget *parent) :
          QMainWindow(parent),
          ui(new Ui::MainWindow)
      {
          ui->setupUi(this);
          ui->send->setDisabled(true);
          ui->message->setDisabled(true);
          ui->subscribe->setDisabled(true);
          ui->topic->setDisabled(true);
      
          ui->lineIP->setText(QString("a3jkuztr3frwt4-ats.iot.ap-south-1.amazonaws.com"));
          ui->linePort->setText(QString("8883"));
      
          lib_init();
      
          connect (ui->connect, SIGNAL(clicked()), this, SLOT(connectPressed()));
          connect (ui->send, SIGNAL(clicked()), this, SLOT(sendPressed()));
          connect (ui->subscribe, SIGNAL(clicked()), this, SLOT(subscribePressed()));
      }
      
      void MainWindow::connectPressed()
      {
          QByteArray host = ui->lineIP->text().toLocal8Bit();
          QByteArray id = ui->lineID->text().toLocal8Bit();
      
          int port = 0;
          port = ui->linePort->text().toInt();
          if (!port)
          {
              ui->linePort->clear();
              return ;
          }
          ui->connect->setDisabled(true);
      
      
          mosq = new qtmosq(id, true);
          int size = sizeof(*mosq);
          qDebug() << size;
          connect (mosq, SIGNAL(connectEnable()), this, SLOT(connectEnabled()));
          connect (mosq, SIGNAL(subscribed()), this ,SLOT(subscribed()));
          connect (mosq, SIGNAL(connected()), this, SLOT(connected()));
          connect (mosq, SIGNAL(messageSent(bool)), this, SLOT(setMessageStatus(bool)));
          connect (mosq, SIGNAL(messageReceived(QString)), this, SLOT(showMessage(QString)));
          mosq->connect_async(host.data(), port);
          mosq->loop_start();
      
      }
      

      mainwindow.h

      #include <QMainWindow>
      #include "qtmosq.h"
      
      namespace Ui {
      class MainWindow;
      }
      
      class MainWindow : public QMainWindow
      {
          Q_OBJECT
      
      public:
          explicit MainWindow(QWidget *parent = 0);
          ~MainWindow();
      
      private:
          qtmosq* mosq;
          QStringList subed;
          QString currentTopic;
          Ui::MainWindow *ui;
      
      private slots:
          void setMessageStatus(bool);
          void connectPressed();
          void sendPressed();
          void connectEnabled();
          void subscribePressed();
          void subscribed();
          void connected();
          void showMessage(QString);
      };
      

      qtmosq.h

      #ifndef QTMOSQ_H
      #define QTMOSQ_H
      
      #include "QObject"
      #include "mosquittopp.h"
      
      using namespace mosqpp;
      
      class qtmosq : public QObject, public mosquittopp
      {
          Q_OBJECT
      
      public:
          qtmosq(const char *id = NULL, bool clean_session = true) : mosquittopp (id, clean_session) {MID = 0;}
          ~qtmosq() {}
      
          void on_connect(int result)
          {
              if (!result)
              {
                  //subscribe(NULL, "$SYS/#", 2);
                  emit connected();
              }
              else
                  emit connectEnable();
          }
          void on_publish(int id)
          {
              MID++;
              emit messageSent(true);
          }
          void on_subscribe(int mid, int qos_count, const int *granted_qos)
          {
              if (MID != 0)
                  emit subscribed();
              MID++;
          }
          void on_message(const mosquitto_message *message)
          {
              if (message->payloadlen)
              {
                  QString s(message->topic);
                  s += '>';
                  s += (char*) message->payload;
                  emit messageReceived(s);
              }
          }
      
          int* getMID() {return &MID;}
      
      private:
          int MID;
      
      signals:
          void connected();
          void messageSent(bool);
          void messageReceived(QString);
          void connectEnable();
          void subscribed();
      };
      
      #endif // QTMOSQ_H
      
      

      here above i send the code for the same.

      if you get more please tell me.

      jsulmJ Online
      jsulmJ Online
      jsulm
      Lifetime Qt Champion
      wrote on last edited by jsulm
      #10

      @Milav So, you get that error here in MainWindow:

      ui->connect->setDisabled(true); 
      mosq = new qtmosq(id, true); // Is it here?
      int size = sizeof(*mosq);
      

      ?
      It should work.
      Are there any other warnings or errors?
      Try to do a complete rebuild: delete build directory, run qmake and build.

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      MilavM 2 Replies Last reply
      0
      • jsulmJ jsulm

        @Milav So, you get that error here in MainWindow:

        ui->connect->setDisabled(true); 
        mosq = new qtmosq(id, true); // Is it here?
        int size = sizeof(*mosq);
        

        ?
        It should work.
        Are there any other warnings or errors?
        Try to do a complete rebuild: delete build directory, run qmake and build.

        MilavM Offline
        MilavM Offline
        Milav
        wrote on last edited by
        #11

        @jsulm

        when i build the project it give me only warning like follow.

        /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/qtmosq.h:14: warning: 'mosqpp::mosquittopp::mosquittopp(const char*, bool)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:94) [-Wdeprecated-declarations]
        
        /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/mainwindow.cpp:57: warning: 'int mosqpp::mosquittopp::connect_async(const char*, int, int)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:103) [-Wdeprecated-declarations]
        
        /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/mainwindow.cpp:80: warning: 'int mosqpp::mosquittopp::subscribe(int*, const char*, int)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:110) [-Wdeprecated-declarations]
        

        but i face segmentation fault error when i run that project, an i found the line at where i face segmentation fault.

        it is ...

        mosq->subscribe(NULL, "sensors/temprature", 1); // Segmentation falut
        
        M 1 Reply Last reply
        0
        • jsulmJ jsulm

          @Milav So, you get that error here in MainWindow:

          ui->connect->setDisabled(true); 
          mosq = new qtmosq(id, true); // Is it here?
          int size = sizeof(*mosq);
          

          ?
          It should work.
          Are there any other warnings or errors?
          Try to do a complete rebuild: delete build directory, run qmake and build.

          MilavM Offline
          MilavM Offline
          Milav
          wrote on last edited by
          #12

          @jsulm

          Hello

          Here i have send the link at where i download the example.

          Reference link

          jsulmJ 1 Reply Last reply
          0
          • MilavM Milav

            @jsulm

            Hello

            Here i have send the link at where i download the example.

            Reference link

            jsulmJ Online
            jsulmJ Online
            jsulm
            Lifetime Qt Champion
            wrote on last edited by
            #13

            @Milav That example does exactly what I suggested you to do:

            ui->connect->setDisabled(true);
            
            mosq = new qtmosq(id, false); // HERE
            connect (mosq, SIGNAL(connectEnable()), this, SLOT(connectEnabled()));
            

            Did you try to build and run this example? If so - does it work?

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            MilavM 1 Reply Last reply
            0
            • jsulmJ jsulm

              @Milav That example does exactly what I suggested you to do:

              ui->connect->setDisabled(true);
              
              mosq = new qtmosq(id, false); // HERE
              connect (mosq, SIGNAL(connectEnable()), this, SLOT(connectEnabled()));
              

              Did you try to build and run this example? If so - does it work?

              MilavM Offline
              MilavM Offline
              Milav
              wrote on last edited by
              #14

              @jsulm

              Yes i delete the build directory and again i rebuild the whole project but i couldn't run the example. it is not work.

              jsulmJ 1 Reply Last reply
              0
              • MilavM Milav

                @jsulm

                Yes i delete the build directory and again i rebuild the whole project but i couldn't run the example. it is not work.

                jsulmJ Online
                jsulmJ Online
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #15

                @Milav said in segmentation fault:

                it is not work

                What exactly does this mean? Doesn't build? Crashes? Does not do what it should? ...?

                https://forum.qt.io/topic/113070/qt-code-of-conduct

                MilavM 1 Reply Last reply
                0
                • jsulmJ jsulm

                  @Milav said in segmentation fault:

                  it is not work

                  What exactly does this mean? Doesn't build? Crashes? Does not do what it should? ...?

                  MilavM Offline
                  MilavM Offline
                  Milav
                  wrote on last edited by
                  #16

                  @jsulm

                  it means build successful.

                  but it is not run, it is crashes application.

                  means while running the application, the application are crash.

                  with following error.

                  "segmentation fault"

                  and i debug the application via qDebug(), the application are crash on following line of code.

                  mosq->subscribe(NULL, "sensors/temprature", 1); // Segmentation falut
                  
                  J.HilkJ 1 Reply Last reply
                  0
                  • MilavM Milav

                    @jsulm

                    it means build successful.

                    but it is not run, it is crashes application.

                    means while running the application, the application are crash.

                    with following error.

                    "segmentation fault"

                    and i debug the application via qDebug(), the application are crash on following line of code.

                    mosq->subscribe(NULL, "sensors/temprature", 1); // Segmentation falut
                    
                    J.HilkJ Online
                    J.HilkJ Online
                    J.Hilk
                    Moderators
                    wrote on last edited by
                    #17

                    @Milav well, did you press connect before you pressed subscribe?

                    If not it will crash...


                    Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                    Q: What's that?
                    A: It's blue light.
                    Q: What does it do?
                    A: It turns blue.

                    MilavM 1 Reply Last reply
                    0
                    • J.HilkJ J.Hilk

                      @Milav well, did you press connect before you pressed subscribe?

                      If not it will crash...

                      MilavM Offline
                      MilavM Offline
                      Milav
                      wrote on last edited by
                      #18

                      @J-Hilk

                      I press first Connect button and than after i press subscribed button.

                      but it is crash...

                      jsulmJ 1 Reply Last reply
                      0
                      • MilavM Milav

                        @jsulm

                        when i build the project it give me only warning like follow.

                        /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/qtmosq.h:14: warning: 'mosqpp::mosquittopp::mosquittopp(const char*, bool)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:94) [-Wdeprecated-declarations]
                        
                        /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/mainwindow.cpp:57: warning: 'int mosqpp::mosquittopp::connect_async(const char*, int, int)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:103) [-Wdeprecated-declarations]
                        
                        /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/mainwindow.cpp:80: warning: 'int mosqpp::mosquittopp::subscribe(int*, const char*, int)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:110) [-Wdeprecated-declarations]
                        

                        but i face segmentation fault error when i run that project, an i found the line at where i face segmentation fault.

                        it is ...

                        mosq->subscribe(NULL, "sensors/temprature", 1); // Segmentation falut
                        
                        M Offline
                        M Offline
                        mvuori
                        wrote on last edited by
                        #19

                        If temprature is supposed to be temperature, this is a bug:
                        mosq->subscribe(NULL, "sensors/temprature", 1);

                        MilavM 1 Reply Last reply
                        0
                        • MilavM Milav

                          @J-Hilk

                          I press first Connect button and than after i press subscribed button.

                          but it is crash...

                          jsulmJ Online
                          jsulmJ Online
                          jsulm
                          Lifetime Qt Champion
                          wrote on last edited by
                          #20

                          @Milav Did you debug to see whether mosq is not a nullptr? If it's not please provide stack trace after crash.
                          Also, in connectPressed it does a return if port is not set - is it set if you press connect?
                          You should really run through debugger...

                          https://forum.qt.io/topic/113070/qt-code-of-conduct

                          MilavM 1 Reply Last reply
                          0
                          • jsulmJ jsulm

                            @Milav Did you debug to see whether mosq is not a nullptr? If it's not please provide stack trace after crash.
                            Also, in connectPressed it does a return if port is not set - is it set if you press connect?
                            You should really run through debugger...

                            MilavM Offline
                            MilavM Offline
                            Milav
                            wrote on last edited by
                            #21

                            @jsulm

                            i debug the size of mosq pointer through following code.

                             int size = sizeof(*mosq);
                                qDebug() << size;
                            

                            and output is 20;

                            and in connectpressed button slot are run succesfully.

                            port value are shown correctly.

                            when i run debugger it shows following error.

                            The inferior stopped because it received a signal from the Operating System.
                            
                            Signal name : 
                            SIGILL
                            Signal meaning : 
                            Illegal instruction
                            
                            

                            hope you got my point.

                            jsulmJ 1 Reply Last reply
                            0
                            • M mvuori

                              If temprature is supposed to be temperature, this is a bug:
                              mosq->subscribe(NULL, "sensors/temprature", 1);

                              MilavM Offline
                              MilavM Offline
                              Milav
                              wrote on last edited by
                              #22

                              @mvuori

                              no it is supposed to be sensors/temprature.

                              1 Reply Last reply
                              0
                              • MilavM Milav

                                @jsulm

                                i debug the size of mosq pointer through following code.

                                 int size = sizeof(*mosq);
                                    qDebug() << size;
                                

                                and output is 20;

                                and in connectpressed button slot are run succesfully.

                                port value are shown correctly.

                                when i run debugger it shows following error.

                                The inferior stopped because it received a signal from the Operating System.
                                
                                Signal name : 
                                SIGILL
                                Signal meaning : 
                                Illegal instruction
                                
                                

                                hope you got my point.

                                jsulmJ Online
                                jsulmJ Online
                                jsulm
                                Lifetime Qt Champion
                                wrote on last edited by
                                #23

                                @Milav said in segmentation fault:

                                i debug the size of mosq pointer through following code.

                                The size of a pointer is fixed, it doesn't matter whether it contains nullptr or something else.
                                Do

                                qDebug() << mosq;
                                

                                instead to see the value of the pointer.
                                Without stack trace I can't tell you what is going on...

                                https://forum.qt.io/topic/113070/qt-code-of-conduct

                                MilavM JonBJ 2 Replies Last reply
                                0
                                • jsulmJ jsulm

                                  @Milav said in segmentation fault:

                                  i debug the size of mosq pointer through following code.

                                  The size of a pointer is fixed, it doesn't matter whether it contains nullptr or something else.
                                  Do

                                  qDebug() << mosq;
                                  

                                  instead to see the value of the pointer.
                                  Without stack trace I can't tell you what is going on...

                                  MilavM Offline
                                  MilavM Offline
                                  Milav
                                  wrote on last edited by
                                  #24

                                  @jsulm

                                  when i execute "qDebug() << mosq;" it gives following output.

                                  qtmosq(0xac50b0)
                                  

                                  how i see stack trace in qt?

                                  can you please explore me more about stack trace?

                                  JonBJ 1 Reply Last reply
                                  0
                                  • jsulmJ jsulm

                                    @Milav said in segmentation fault:

                                    i debug the size of mosq pointer through following code.

                                    The size of a pointer is fixed, it doesn't matter whether it contains nullptr or something else.
                                    Do

                                    qDebug() << mosq;
                                    

                                    instead to see the value of the pointer.
                                    Without stack trace I can't tell you what is going on...

                                    JonBJ Offline
                                    JonBJ Offline
                                    JonB
                                    wrote on last edited by
                                    #25

                                    @Milav

                                    int size = sizeof(*mosq);

                                    @jsulm

                                    The size of a pointer is fixed,

                                    A slight slip of the tongue there. I think what my colleague @jsulm meant to clarify is: sizeof(...) is a compile-time calculation, it does not matter what the value of mosq is or what it points at run-time, rather this statement just assigns sizeof(qtmosq) regardless. As he says, show us what is in the mosq.

                                    MilavM 1 Reply Last reply
                                    0
                                    • JonBJ JonB

                                      @Milav

                                      int size = sizeof(*mosq);

                                      @jsulm

                                      The size of a pointer is fixed,

                                      A slight slip of the tongue there. I think what my colleague @jsulm meant to clarify is: sizeof(...) is a compile-time calculation, it does not matter what the value of mosq is or what it points at run-time, rather this statement just assigns sizeof(qtmosq) regardless. As he says, show us what is in the mosq.

                                      MilavM Offline
                                      MilavM Offline
                                      Milav
                                      wrote on last edited by
                                      #26

                                      @JonB

                                      when i execute "qDebug() << mosq;" it gives following output.

                                      qtmosq(0xac50b0)

                                      1 Reply Last reply
                                      0
                                      • MilavM Milav

                                        @jsulm

                                        when i execute "qDebug() << mosq;" it gives following output.

                                        qtmosq(0xac50b0)
                                        

                                        how i see stack trace in qt?

                                        can you please explore me more about stack trace?

                                        JonBJ Offline
                                        JonBJ Offline
                                        JonB
                                        wrote on last edited by JonB
                                        #27

                                        @Milav

                                        when i execute "qDebug() << mosq;" it gives following output.
                                        qtmosq(0xac50b0)

                                        I'm not sure this is actually trying to deference the pointer, it may just print its value. I would try something likeqDebug() << mosq->something;, where something is some field you know is supposed to exist & be valid in a qtmosq. Or try qDebug() << *mosq (note the *)?

                                        how i see stack trace in qt?
                                        can you please explore me more about stack trace?

                                        I don't know how you run in your "Embedded Custom Board", but can you run the app from inside a debugger? then when it seg faults you will see a "stack trace" in the debugger showing the call stack when the fault occurred.

                                        jsulmJ MilavM 2 Replies Last reply
                                        1
                                        • JonBJ JonB

                                          @Milav

                                          when i execute "qDebug() << mosq;" it gives following output.
                                          qtmosq(0xac50b0)

                                          I'm not sure this is actually trying to deference the pointer, it may just print its value. I would try something likeqDebug() << mosq->something;, where something is some field you know is supposed to exist & be valid in a qtmosq. Or try qDebug() << *mosq (note the *)?

                                          how i see stack trace in qt?
                                          can you please explore me more about stack trace?

                                          I don't know how you run in your "Embedded Custom Board", but can you run the app from inside a debugger? then when it seg faults you will see a "stack trace" in the debugger showing the call stack when the fault occurred.

                                          jsulmJ Online
                                          jsulmJ Online
                                          jsulm
                                          Lifetime Qt Champion
                                          wrote on last edited by jsulm
                                          #28

                                          @JonB said in segmentation fault:

                                          I'm not sure this is actually trying to deference the pointer

                                          It does not, but I wanted to see its value :-)
                                          Looks like it's not NULL.

                                          https://forum.qt.io/topic/113070/qt-code-of-conduct

                                          JonBJ 1 Reply Last reply
                                          1

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved