|Anonymous | Login||2019-05-23 03:38 MSK|
|My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0030697||Open CASCADE||[OCCT] OCCT:DRAW||public||2019-05-06 23:09||2019-05-12 16:46|
|Product Version||[OCCT] 6.8.0|
|Target Version||[OCCT] 7.4.0*||Fixed in Version|
|Summary||0030697: Draw Harness - Draw_Printer should not be set to Message::DefaultMessenger() by default|
|Description||Currently Draw Harness removes std::cout printer from Message::DefaultMessenger() and appends Draw_Printer instead. Draw_Printer redirects output to Tcl command result, which results in the following issues:|
- DefaultMessenger() is a global callback which can be used by any OCCT code, not exactly designed for Tcl output of particular command. This might include errors, failures and warnings, so that command output might become unexpectedly broken. Example - vreadpixel command which uses a workaround clearing Tcl output to avoid breaking tests (as result, messages from TKOpenGl are discarded and might remain unnoticed).
- Feeding Tcl interpreter is not thread safe, while DefaultMessenger() can be used for emitting messages from working threads resulting in Draw Harness crash.
- Draw_Printer accumulates messages internally and prints them into console only after command execution completion. This is annoying behavior for a long process reporting some intermediate messages - so that important problems can be seen only at the very end of command.
It is proposed reverted patch making Draw_Printer as default printer ad Draw Harness start and reconsider its usage in particular commands. The origin of Draw_Printer are Data Exchange plugins, so that them should be checked carefully.
|Tags||No tags attached.|
|Test case number|
Branch CR30697 has been created by kgv.
Detailed log of new commits:
Date: Mon May 6 23:05:13 2019 +0300
0030697: Draw Harness - Draw_Printer should not be set to Message::DefaultMessenger() by default
|2019-05-06 23:09||kgv||New Issue|
|2019-05-06 23:09||kgv||Assigned To||=> kgv|
|2019-05-06 23:12||git||Note Added: 0084205|
|2019-05-06 23:14||kgv||Relationship added||related to 0024644|
|2019-05-06 23:14||kgv||Product Version||=> 6.8.0|
|2019-05-12 16:46||kgv||Relationship added||related to 0025748|
|Copyright © 2000 - 2019 MantisBT Team|