diff --git a/code/studio/src/plugins/georges_editor/georges_dock_widget.cpp b/code/studio/src/plugins/georges_editor/georges_dock_widget.cpp
index 9602a7678..e031fbc8f 100644
--- a/code/studio/src/plugins/georges_editor/georges_dock_widget.cpp
+++ b/code/studio/src/plugins/georges_editor/georges_dock_widget.cpp
@@ -17,6 +17,7 @@
// along with this program. If not, see .
#include "georges_dock_widget.h"
+#include
GeorgesDockWidget::GeorgesDockWidget( QWidget *parent ) :
QDockWidget( parent )
@@ -31,6 +32,26 @@ GeorgesDockWidget::~GeorgesDockWidget()
void GeorgesDockWidget::closeEvent( QCloseEvent *e )
{
+ if( isModified() )
+ {
+ QString title = windowTitle();
+ title.remove( '*' );
+
+ int reply = QMessageBox::question( this,
+ tr( "Closing dialog" ),
+ title + tr( " has been modified.\nWould you like to save the changes?" ),
+ QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel );
+
+ if( reply == QMessageBox::Cancel )
+ {
+ e->ignore();
+ return;
+ }
+
+ if( reply == QMessageBox::Yes )
+ write();
+ }
+
Q_EMIT closing( this );
}