[GRASS-SVN] r61369 - in grass/branches/releasebranch_7_0: . gui/wxpython/mapdisp lib/display
svn_grass at osgeo.org
svn_grass at osgeo.org
Wed Jul 23 04:49:24 PDT 2014
Author: neteler
Date: 2014-07-23 04:49:24 -0700 (Wed, 23 Jul 2014)
New Revision: 61369
Modified:
grass/branches/releasebranch_7_0/
grass/branches/releasebranch_7_0/gui/wxpython/mapdisp/main.py
grass/branches/releasebranch_7_0/lib/display/r_raster.c
Log:
wxGUI: Allow MONITOR=wx* and GRASS_RENDER_IMMEDIATE at the same time to avoid calling display commands without MONITOR while the wx monitor is rendering. Fixes ticket #2285 (trunk, r60215)
Property changes on: grass/branches/releasebranch_7_0
___________________________________________________________________
Modified: svn:mergeinfo
- /grass/trunk:59505,59646,60219,60278,60610,60807,60835,60936-60937,61159-61160,61165,61275,61288,61290,61292,61294,61301
+ /grass/trunk:59505,59646,60215,60219,60278,60610,60807,60835,60936-60937,61159-61160,61165,61275,61288,61290,61292,61294,61301
Modified: grass/branches/releasebranch_7_0/gui/wxpython/mapdisp/main.py
===================================================================
--- grass/branches/releasebranch_7_0/gui/wxpython/mapdisp/main.py 2014-07-23 11:45:37 UTC (rev 61368)
+++ grass/branches/releasebranch_7_0/gui/wxpython/mapdisp/main.py 2014-07-23 11:49:24 UTC (rev 61369)
@@ -194,16 +194,8 @@
For input params and returned data see overridden method in Map class.
"""
- currMon = grass.gisenv()['MONITOR']
-
- RunCommand('g.gisenv',
- unset = 'MONITOR') # GRASS_RENDER_IMMEDIATE doesn't like monitors
-
ret = Map.Render(self, *args, **kwargs)
- RunCommand('g.gisenv',
- set = 'MONITOR=%s' % currMon)
-
return ret
def AddLayer(self, *args, **kwargs):
@@ -211,11 +203,6 @@
For input params and returned data see overridden method in Map class.
"""
- currMon = grass.gisenv()['MONITOR']
-
- RunCommand('g.gisenv',
- unset = 'MONITOR') # GRASS_RENDER_IMMEDIATE doesn't like monitors
-
driver = UserSettings.Get(group = 'display', key = 'driver', subkey = 'type')
if driver == 'png':
@@ -227,9 +214,6 @@
del os.environ["GRASS_RENDER_IMMEDIATE"]
- RunCommand('g.gisenv',
- set='MONITOR=%s' % currMon)
-
return layer
Modified: grass/branches/releasebranch_7_0/lib/display/r_raster.c
===================================================================
--- grass/branches/releasebranch_7_0/lib/display/r_raster.c 2014-07-23 11:45:37 UTC (rev 61368)
+++ grass/branches/releasebranch_7_0/lib/display/r_raster.c 2014-07-23 11:49:24 UTC (rev 61369)
@@ -105,7 +105,11 @@
G_debug(1, "D_open_driver():");
p = getenv("GRASS_RENDER_IMMEDIATE");
m = G__getenv("MONITOR");
- if (m) {
+
+ if (m && G_strncasecmp(m, "wx", 2) == 0) {
+ /* wx monitors always use GRASS_RENDER_IMMEDIATE. */
+ p = NULL; /* use default display driver */
+ } else if (m) {
char *env;
const char *v;
@@ -115,13 +119,10 @@
env = NULL;
G_asprintf(&env, "MONITOR_%s_MAPFILE", m);
v = G__getenv(env);
- if (G_strncasecmp(m, "wx", 2) == 0)
- p = NULL; /* use default display driver */
- else
- p = m;
-
+ p = m;
+
if (v) {
- if (p && G_strcasecmp(p, "ps") == 0)
+ if (G_strcasecmp(p, "ps") == 0)
G_putenv("GRASS_PSFILE", v);
else
G_putenv("GRASS_PNGFILE", v);
@@ -196,9 +197,12 @@
G_debug(1, "D_save_command(): %s", cmd);
mon_name = G__getenv("MONITOR");
- if (!mon_name)
+ if (!mon_name || /* if no monitor selected */
+ /* or wx monitor selected and display commands called by the monitor */
+ (G_strncasecmp(mon_name, "wx", 2) == 0 &&
+ getenv("GRASS_RENDER_IMMEDIATE")))
return 0;
-
+
env = NULL;
G_asprintf(&env, "MONITOR_%s_CMDFILE", mon_name);
mon_cmd = G__getenv(env);
More information about the grass-commit
mailing list