Index: orxonox/branches/updater/src/gui/orxonox_gui_gtk.cc
===================================================================
--- orxonox/branches/updater/src/gui/orxonox_gui_gtk.cc	(revision 3274)
+++ orxonox/branches/updater/src/gui/orxonox_gui_gtk.cc	(revision 3275)
@@ -174,5 +174,5 @@
 /**
    \brief Moves through all the Widgets downwards from this and executes the function on them.
-   \param Function must be of type void and takes a Widget* as an Input. 
+   \param function must be of type void and takes a Widget* as an Input. 
 */
 void Widget::walkThrough (void (*function)(Widget*))
@@ -1151,5 +1151,5 @@
 
 /**
-   \breif Creates a new ProgressBar.
+   \brief Creates a new ProgressBar.
 */
 ProgressBar::ProgressBar (void)
@@ -1159,5 +1159,5 @@
 
 /**
-   \breif Creates a new ProgressBar.
+   \brief Creates a new ProgressBar.
    \param label The name you want to get the ProgressBar.
 */
@@ -1169,5 +1169,5 @@
 
 /**
-   \destructs a ProgressBar
+   \brief destructs a ProgressBar
 */
 ProgressBar::~ProgressBar ()
Index: orxonox/branches/updater/src/gui/orxonox_gui_gtk.h
===================================================================
--- orxonox/branches/updater/src/gui/orxonox_gui_gtk.h	(revision 3274)
+++ orxonox/branches/updater/src/gui/orxonox_gui_gtk.h	(revision 3275)
@@ -11,4 +11,5 @@
 #endif
 
+//! verbose level, soon obsolete
 extern int verbose; // soon obsolete here
 
@@ -245,5 +246,5 @@
   void setTitle(char* title);
 
-  bool isActive();
+  bool isActive();           //!< a Bool value to see, if this CheckButton is active.
   void redraw ();
 };
Index: orxonox/branches/updater/src/gui/orxonox_gui_update.cc
===================================================================
--- orxonox/branches/updater/src/gui/orxonox_gui_update.cc	(revision 3274)
+++ orxonox/branches/updater/src/gui/orxonox_gui_update.cc	(revision 3275)
@@ -66,4 +66,7 @@
 }
 
+/**
+   \brief Creates a window, and all it contains for the Data-update.
+*/
 void OrxonoxGuiUpdate::updateDataWindowCreate (void)
 {
@@ -101,5 +104,5 @@
 
 /**
-   \returns A Pointer to the Button of the UpdaterWindow
+   \returns A Pointer to the Button of the UpdaterDataWindow
 */
 Button* OrxonoxGuiUpdate::updateDataWindowGetButton(void)
@@ -108,4 +111,7 @@
 }
 
+/**
+   \brief Creates a window, and all it contains for the Source-update.
+*/
 void OrxonoxGuiUpdate::updateSourceWindowCreate (void)
 {
@@ -136,4 +142,7 @@
 }
 
+/**
+   \returns A Pointer to the Button of the UpdaterSourceWindow
+*/
 Button* OrxonoxGuiUpdate::updateSourceWindowGetButton(void)
 {
@@ -175,4 +184,11 @@
 
 #ifdef HAVE_CURL
+/**
+   \brief The Function Curl calls to write out the File.
+   \param ptr A Pointer to the date to write.
+   \param size The size in bytes of one nmemb to write.
+   \param nmemb The Count of size to write.
+   \param stream Filehandler to write to.
+*/
 size_t OrxonoxGuiUpdate::curlWriteFunc (void* ptr, size_t size, size_t nmemb, FILE* stream)
 {
@@ -180,4 +196,11 @@
 }
 
+/**
+   \brief The Function Curl calls to write out the File.
+   \param ptr A Pointer to the date to write to.
+   \param size The size in bytes of one nmemb to write.
+   \param nmemb The Count of size to write.
+   \param stream Filehandler to get data from.
+*/
 size_t OrxonoxGuiUpdate::curlReadFunc (void* ptr, size_t size, size_t nmemb, FILE* stream)
 {
@@ -186,4 +209,12 @@
 
 
+/**
+   \brief An update Function for the GUI, to show the progress.
+   \param Bar th ProgressBar to update
+   \param totalSize The total size of the download in bytes.
+   \param progress The current Progress of the download in bytes.
+   \param upTotal not needed
+   \param upProgress not needed
+*/
 int OrxonoxGuiUpdate::curlProgressFunc (ProgressBar* Bar, double totalSize, double progress, double upTotal, double upProgress)
 {
@@ -198,11 +229,24 @@
 }
 
+/**
+   \brief THe Curl handle for only one CURL
+*/
 CURL* OrxonoxGuiUpdate::curlHandle = NULL;
 
 #ifdef HAVE_PTHREAD_H
+/** \brief The download Thread ID */
 pthread_t* OrxonoxGuiUpdate::downloadThreadID = new pthread_t;
+/**   \brief The download Thread ID*/
+pthread_t* OrxonoxGuiUpdate::downloadThreadFinishID = new pthread_t;
 #endif /* HAVE_PTHREAD_H */
+/**
+   \brief A bool parameter that shows if we are downloading.
+*/
 bool OrxonoxGuiUpdate::isDownloading = false;
 
+/**
+   \brief Initializes a Download
+   \param fileInfo the FileInfo.
+*/
 bool OrxonoxGuiUpdate::download (void* fileInfo)
 {
@@ -238,10 +282,10 @@
       if (!isDownloading)
 	{
+	  isDownloading = true;
 	  //! \todo check if threads really were created.
 #ifdef HAVE_PTHREAD_H
+	  pthread_join(*downloadThreadFinishID, NULL);
 	  pthread_create(downloadThreadID, NULL, downloadThread, info);
-
-	  pthread_t finish;
-	  pthread_create(&finish, NULL, downloadThreadFinished, info);  
+	  pthread_create(downloadThreadFinishID, NULL, downloadThreadFinished, info);  
 #else
 	  downloadThread(info);
@@ -259,9 +303,13 @@
   return true;
 }
+
+/**
+   \brief The downloading process (either threaded or not).
+   \param fileInfo the FileInfo.
+*/
 void* OrxonoxGuiUpdate::downloadThread(void* fileInfo)
 {
   pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL);
   gdk_threads_enter();
-  isDownloading = true;
   FileInfo* info = (FileInfo*)fileInfo;
   info->stateButton->disconnectSignal(info->buttonSignal);
@@ -275,4 +323,8 @@
 }
 
+/**
+   \brief Finishes a downloading process. 
+   \param fileInfo the FileInfo.
+*/
 void* OrxonoxGuiUpdate::downloadThreadFinished(void* fileInfo)
 { 
@@ -300,4 +352,12 @@
 
 #ifdef HAVE_GTK2
+/**
+   \brief canceles a downloading session.
+   \param w The widget, that executed this Function.
+   \param event The event that trigered this Function.
+   \param bar The Bar, that triggered this event.
+
+   \todo canceling a session in non-threaded mode.
+*/
 gint OrxonoxGuiUpdate::cancelDownload(GtkWidget* w, GdkEventKey* event, void* bar)
 {
Index: orxonox/branches/updater/src/gui/orxonox_gui_update.h
===================================================================
--- orxonox/branches/updater/src/gui/orxonox_gui_update.h	(revision 3274)
+++ orxonox/branches/updater/src/gui/orxonox_gui_update.h	(revision 3275)
@@ -15,4 +15,5 @@
 #endif /* HAVE_CURL */
 #ifdef HAVE_PTHREAD_H
+#define _MULTI_THREADED
 #include <pthread.h>
 #endif /* HAVE_PTHREAD_H */
@@ -70,4 +71,5 @@
 #ifdef HAVE_PTHREAD_H
   static pthread_t* downloadThreadID;
+  static pthread_t* downloadThreadFinishID;
 #endif /* HAVE_PTHREAD_H */
   static bool isDownloading;
@@ -86,6 +88,6 @@
   Widget* getWidget ();
   
-  void updateWindowCreate (void);
-  Button* updateWindowGetButton(void);
+  //  void updateWindowCreate (void);
+  //  Button* updateWindowGetButton(void);
 
   void updateDataWindowCreate (void);
