Qt Code:
  1. QString version = "0.0.1 pre-alpha";
  2.  
  3. debugger *debug = new debugger("QQMsn_debug",version,true);
  4. cmsn *msn = new cmsn();
  5. Window_Login *window_login = 0;
  6. Window_Login_Busy *login_busy = 0;
To copy to clipboard, switch view to plain text mode 

Why do you create those objects like that? I believe there is something drawing you back to C .

Instead of:
Qt Code:
  1. QString version = "0.0.1 pre-alpha";
To copy to clipboard, switch view to plain text mode 
I suggest using:
Qt Code:
  1. #define VERSION "0.0.1 pre-alpha"
To copy to clipboard, switch view to plain text mode 

Regarding the other static objects - you delete them in main .
A really "static desing" would have supposed to implement something like AllocateObject ( called before main ) and ReleaseObject( called after main ).

So, I suggest dragging the statics in main, after the QApplication is created, because I don't see any reason why you should keep them there.

As for the segfault, as jacek said you most likely have a QSslSocket in an unallocated QMsn object ( from what I have seen in your code ).