Issue 116648

Summary: Dialog TextField(MultiLine) is not repainted in Japanese-Environment.
Product: Calc Reporter: k_tsunoda <k_tsunoda>
Component: viewingAssignee: AOO issues mailing list <issues>
Status: UNCONFIRMED --- QA Contact:
Severity: Trivial    
Priority: P3 CC: elish, issues
Version: OOo 3.2.1Keywords: needhelp
Target Milestone: ---   
Hardware: All   
OS: Windows XP   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---
Attachments:
Description Flags
Dialog TextField(MultiLine) is not repainted in Japanese-Environment. none

Description k_tsunoda 2011-01-27 03:17:02 UTC
OOo 3.2.1 / Calc / Dialog and [Japanese Environment]

The MsgBox window is not repainted when I display MsgBox after 
input a Japanese letter with "IME ON". TextField in the MsgBox 
window is "MutiLine ON".

The same problem happens with the window of the other application 
including NotePad.

Problem OS : WindowsXP(SP3), Windows2000(SP4), Ubuntu, Vine5.2 Linux
No problem OS : Windows Vista, Windows 7


I attach Calc document reproducing a problem.
It is attached a capture image to the Calc document.


-- The countermeasure for Msgbox in own macro. --

The follows are workarounds for the windows by own macro such as MsgBox.
TextField is repainted by taking following steps after MsgBox statement.

  With oDialog2.getControl("TextField1").Model
    .TextColor = &HFFFFFF   'Background Color of TextField1
    .TextColor = &H0        'Foreground Color of TextField1
  End With

However, there is not a workaround for the other application windows 
including NotePad.


-- The countermeasure for other application windows. --

The follows are workarounds for the other application windows 
including NotePad and the windows by own macro such as MsgBox.

Private oDialog As Object
Private oDialogPaintListener As Object

Sub Main ( )
  DialogLibraries.LoadLibrary("Standard")
  oDialog = CreateUnoDialog(DialogLibraries.Standard.TestDialog)

  oDialogPaintListener = CreateUnoListener _
        ("Dialog_PaintListener_","com.sun.star.awt.XPaintListener")
  oDialog.addPaintListener(oDialogPaintListener)

  oDialog.execute
  
  oDialog.removePaintListener(oDialogPaintListener)
  oDialog.dispose
End Sub

Sub Dialog_PaintListener_windowPaint(oEvent As com.sun.star.awt.PaintEvent)
  With oDialog.getControl("TextField1").Model
    .TextColor = &HFFFFFF   'Background Color of TextField1
    .TextColor = &H0        'Foreground Color of TextField1
  End With
End Sub

Sub Dialog_PaintListener_disposing(oEvent As com.sun.star.lang.EventObject)
End Sub
Comment 1 k_tsunoda 2011-01-27 03:19:05 UTC
Created attachment 75672 [details]
Dialog TextField(MultiLine) is not repainted in Japanese-Environment.