[gimp-gap/gap-2-8] additionl workaround for win 64bit crash on video encoder more typos fixed for #730239



commit 862ad9cd6678d252c3b4ed19e06487daa8850196
Author: Wolfgang Hofer <wolfgangh svn gnome org>
Date:   Sat Jul 5 11:52:58 2014 +0200

    additionl workaround for win 64bit crash on video encoder more typos fixed for #730239

 ChangeLog                   |   30 +++++++++++++++++++++++++++++-
 configure.in                |    6 ++++++
 gap/gap_fg_matting_dialog.c |    6 +++---
 vid_common/gap_cme_gui.c    |   11 ++++++++++-
 4 files changed, 48 insertions(+), 5 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
old mode 100644
new mode 100755
index c04898b..5b7ce2c
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,32 @@
-2014-06-19 Wolfgang Hofer <hof gimp org>
+2014-07-05 Wolfgang Hofer <hof gimp org>
+
+- additional workaround for windows 64bit specific crash of the master video encoder window
+  on attempt to move the window.
+  
+   The GAP_GUI_USE_GTHREAD (configure option -disable-gui-thread-support )
+   now just disables threads in the master video encoder
+   (i.e. calls encoder specific plug ins for the encoder parameters dialog synchron)
+   
+   .. but still uses a worker thread for the non interactive call of the productive video encoder plugin.
+   This way the encoder progress updates are still working in the master encoder GUI while the
+   video encoder is running.
+  
+   the new configure option 
+    --disable-enc-thread-support
+  
+   may be used to separtely force synchron calls of the video encoder.
+   (but this shall not be necessary even for windows 64 bit environment)
+
+- more fixes for #730239 - e.g. used in strings where it should be i.e. 
+  
+
+  * configure.in
+  * gap/gap_cme_gui.c
+  * gap/gap_fg_matting_dialog.c
+
+
+
+2014-06-18 Wolfgang Hofer <hof gimp org>
 
 - workaround for windows specific crash of the master video encoder window
   on attempt to move the window.
diff --git a/configure.in b/configure.in
old mode 100644
new mode 100755
index 8501c58..8f290c0
--- a/configure.in
+++ b/configure.in
@@ -1107,6 +1107,12 @@ AC_ARG_ENABLE(gui_thread_support,
               [Define to 1 to enable gthread usage in GAP dialogs])
   fi
 
+AC_ARG_ENABLE(enc_thread_support,
+              [  --disable-enc-thread-support      do not run video encoder as thread (disables progress 
feedback at master video encoder GUI) ])
+  if test "x$enable_enc_thread_support" != "xno"; then
+        AC_DEFINE(GAP_ENC_USE_GTHREAD, 1,
+              [Define to 1 to enable gthread usage to call video encoders (enables progress update in master 
video encoder dialog])
+  fi
 
 GAPVIDEOAPI_EXTLIBS="\$(GAP_VLIBS_FFMPEG) \$(GAP_VLIBS_MPEG3) \$(GAP_VLIBS_PNG) -lz \$(GTHREAD_LIBS) 
\$(GAP_PTHREAD_LIB) -lm"
 GAPVIDEOAPI_EXTINCS="\$(GAP_VINCS_FFMPEG) \$(GAP_VINCS_MPEG3)"
diff --git a/gap/gap_fg_matting_dialog.c b/gap/gap_fg_matting_dialog.c
index 4fb1723..e58a060 100644
--- a/gap/gap_fg_matting_dialog.c
+++ b/gap/gap_fg_matting_dialog.c
@@ -443,10 +443,10 @@ do_dialog (FgExtractDialogGuiStuff *guiStuffPtr, GapFgExtractValues *cuvals)
                        _("Select the tri_map layer (or layermask). "
                          " the tri-map shall be of same size as the input layer and "
                          " provides a rough user selection "
-                         " where WHITE pixels in the tri map defines FOREGROUND (eg. opaque result) "
-                         " BLACK pixels define BACKGROUND (eg. transparent result)"
+                         " where WHITE pixels in the tri map defines FOREGROUND (i.e. opaque result) "
+                         " BLACK pixels define BACKGROUND (i.e. transparent result)"
                          " GRAY pixels (value 1 upto 240) are marked as Undefined "
-                         " (eg. opacity to be processed by this filter.) )")
+                         " (i.e. opacity to be processed by this filter.) )")
                        , NULL);
 
   /* "Layermask" combo entry (is added in case the input drawable has a layermask that can be used as 
tri-mask) */
diff --git a/vid_common/gap_cme_gui.c b/vid_common/gap_cme_gui.c
old mode 100644
new mode 100755
index f7d5168..59c8d65
--- a/vid_common/gap_cme_gui.c
+++ b/vid_common/gap_cme_gui.c
@@ -41,6 +41,15 @@
 /* if not defined GAP_GUI_USE_GTHREAD (from config.h) the gui can run without the gthread library
  * (but the main window refresh will not be done while the encoder
  * parameter dialog -- that is called via pdb -- is open)
+ *
+ * if not defined GAP_ENC_USE_GTHREAD (from config.h) the encoder call is NOT doen as thread
+ * (tyou will not have progress feedback in the GUI in this case)
+ *
+ * Typically both GAP_GUI_USE_GTHREAD and GAP_ENC_USE_GTHREAD shall be enabled in Linux environment.
+ * In Windows 64 bit environment
+ *    you may  --disable-gui-thread-support (undef GAP_GUI_USE_GTHREAD )
+ *    but      --enable-enc-thread-support  (define GAP_ENC_USE_GTHREAD )
+ * as workaround for a (probably GTK related) bug that leads to crash on atttempt to move the dialog window.
  */
 
 #include <config.h>
@@ -4356,7 +4365,7 @@ gap_cme_gui_start_video_encoder_as_thread(GapCmeGlobalParams *gpp)
     return -1;
   }
 
-#ifdef GAP_GUI_USE_GTHREAD
+#ifdef GAP_ENC_USE_GTHREAD
   if(gpp->productive_encoder_thread != NULL)
   {
     return -1;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]