Added FileTransfer::createFileTransfer.
Code improvements.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@383 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/vncviewer/FTDialog.cxx b/vncviewer/FTDialog.cxx
index f4f8220..e4d1830 100644
--- a/vncviewer/FTDialog.cxx
+++ b/vncviewer/FTDialog.cxx
@@ -39,6 +39,8 @@
m_pLocalLV = NULL;
m_pRemoteLV = NULL;
m_pProgress = NULL;
+
+ m_hwndFTDialog = false;
}
FTDialog::~FTDialog()
@@ -49,6 +51,8 @@
bool
FTDialog::createFTDialog()
{
+ if (m_hwndFTDialog != NULL) return true;
+
m_hwndFTDialog = CreateDialogParam(m_hInstance,
MAKEINTRESOURCE(IDD_FILETRANSFER_DLG),
NULL,
@@ -66,21 +70,29 @@
destroyFTDialog();
return false;
}
+
+ initFTDialog();
- m_pLocalLV->initialize(m_hInstance);
- m_pRemoteLV->initialize(m_hInstance);
-
- ShowWindow(m_hwndFTDialog, SW_SHOW);
- UpdateWindow(m_hwndFTDialog);
- m_bDlgShown = true;
-
- return true;
+ if (ShowWindow(m_hwndFTDialog, SW_SHOW) == 0) {
+ UpdateWindow(m_hwndFTDialog);
+ m_bDlgShown = true;
+ return true;
+ } else {
+ destroyFTDialog();
+ m_bDlgShown = false;
+ return false;
+ }
}
bool
FTDialog::initFTDialog()
{
- return false;
+ m_pLocalLV->initialize(m_hInstance);
+ m_pRemoteLV->initialize(m_hInstance);
+
+ m_pProgress->initialize(0,0);
+
+ return true;
}
bool