Show
Ignore:
Timestamp:
03/14/08 05:48:57 (9 months ago)
Author:
flynd
Message:

Simplified LicqGui::userInfoDlgFinished by supplying dialog pointer directly in signal. This also fixes strange crash in kde4-gui when opening user info for a contact a second time.

Location:
trunk/qt4-gui/src/core
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/qt4-gui/src/core/licqgui.cpp

    r6088 r6093  
    823823  { 
    824824    f = new UserInfoDlg(id, ppid); 
    825     connect(f, SIGNAL(finished(QString, unsigned long)), 
    826         SLOT(userInfoDlgFinished(QString, unsigned long))); 
     825    connect(f, SIGNAL(finished(UserInfoDlg*)), 
     826        SLOT(userInfoDlgFinished(UserInfoDlg*))); 
    827827    f->show(); 
    828828    myUserInfoList.append(f); 
     
    10841084} 
    10851085 
    1086 void LicqGui::userInfoDlgFinished(QString id, unsigned long ppid) 
    1087 { 
    1088   for (int i = 0; i < myUserInfoList.size(); ++i) 
    1089   { 
    1090     UserInfoDlg* item = myUserInfoList.at(i); 
    1091     if (item->PPID() == ppid && item->Id() == id) 
    1092     { 
    1093       myUserInfoList.removeAll(item); 
    1094       return; 
    1095     } 
    1096   } 
     1086void LicqGui::userInfoDlgFinished(UserInfoDlg* dialog) 
     1087{ 
     1088  if (myUserInfoList.removeAll(dialog) > 0) 
     1089    return; 
    10971090 
    10981091  gLog.Warn("%sUser Info finished signal for user with no window (%s)!\n", 
    1099       L_WARNxSTR, id.toLatin1().data()); 
     1092      L_WARNxSTR, dialog->Id().toLatin1().data()); 
    11001093} 
    11011094 
  • trunk/qt4-gui/src/core/licqgui.h

    r6088 r6093  
    220220#endif 
    221221 
    222   void userInfoDlgFinished(QString id, unsigned long ppid); 
     222  void userInfoDlgFinished(UserInfoDlg* dialog); 
    223223  void userEventTabDlgDone(); 
    224224  void userEventFinished(QString id, unsigned long ppid);