--- a/symbian-qemu-0.9.1-12/qemu-symbian-svp/gui.c Wed Apr 14 10:22:25 2010 +0100
+++ b/symbian-qemu-0.9.1-12/qemu-symbian-svp/gui.c Thu Apr 22 14:57:42 2010 +0100
@@ -20,6 +20,10 @@
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
+ *
+ * Contributors:
+ * NTT DOCOMO, INC. -- Clicking a QEMU skin button causes screen flicker on the display area
+ *
*/
#include "hw/hw.h"
@@ -1608,13 +1612,14 @@
if (carea->type == CA_BUTTON) {
if (state == MOUSE_EVENT_LBUTTON) {
if (gui_data->current_vt->buttons[carea->id].pressed_img_id > 0)
- gui_show_image(current_vt_id(),
+ gui_show_image(current_vt_id(),
gui_data->current_vt->buttons[carea->id].pressed_img_id);
button_actions[gui_data->current_vt->buttons[carea->id].actions].down(gui_data->current_vt->buttons[carea->id].parameter);
} else {
- gui_hide_image(current_vt_id(),
- gui_data->current_vt->buttons[carea->id].pressed_img_id);
+ if (gui_data->current_vt->buttons[carea->id].pressed_img_id > 0)
+ gui_hide_image(current_vt_id(),
+ gui_data->current_vt->buttons[carea->id].pressed_img_id);
button_actions[gui_data->current_vt->buttons[carea->id].actions].up(gui_data->current_vt->buttons[carea->id].parameter);
}
} else { /* pointerarea*/