Closed
Bug 196898
Opened 22 years ago
Closed 22 years ago
AIX: Calling gtk_realize_widget on a gtk_entry causes a root status window to come up
Categories
(SeaMonkey :: Themes, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
mozilla1.4alpha
People
(Reporter: pkwarren, Assigned: pkwarren)
References
Details
Attachments
(1 file)
1.15 KB,
patch
|
masaki.katakai
:
review+
blizzard
:
superreview+
asa
:
approval1.4+
|
Details | Diff | Splinter Review |
Calling gtk_realize_widget on a gtk entry causes a root status window to come up
on AIX in certain locales. If GTK is compiled with XIM support, then every gtk
entry creates an input context. The problem shows up when the input context
created is of style GDK_IM_STATUS_NOTHING | GDK_IM_PREEDIT_NOTHING.
It looks like to support native Gtk themes, we create several copies of widgets
and draw them manually (mozilla/gfx/src/gtk/gdkdrawing.c). We create a gtk entry
in this file, and realize the widget, which causes a root status window to come
up. Since this gtk entry is never destroyed and remains active the entire time
Mozilla is running, the root status window for the widget also remains active.
This is a problem because the root status window does not seem to be hooked into
anything, as the gtk entry is not actually used to input text (just used for
rendering the look of a native themed gtk entry), so the status window never
changes. It is confusing to users to have a status area on screen that does not
change when they change the input mode. I have a patch in hand which destroys
the input context created by the gtk entry after it is destroyed. This prevents
this inactive status window from remaining on screen.
Assignee | ||
Comment 1•22 years ago
|
||
Assignee | ||
Updated•22 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Updated•22 years ago
|
Target Milestone: --- → mozilla1.4alpha
Assignee | ||
Updated•22 years ago
|
Attachment #116861 -
Flags: review?(katakai)
Comment 2•22 years ago
|
||
Instead of
gdk_ic_destroy(GTK_EDITABLE(gEntryWidget)->ic);
GTK_EDITABLE(gEntryWidget)->ic = NULL;
may we use
gtk_entry_set_visibility(gEntryWidget, 0);
May it have any negative impacts?
Assignee | ||
Updated•22 years ago
|
Attachment #116861 -
Flags: superreview?(blizzard)
Comment 4•22 years ago
|
||
Comment on attachment 116861 [details] [diff] [review]
Patch v1
I don't have any reasonable solution for this. The behavior of root window
depends on IME and it seems that AIX's IME invokes root status window at IC
creation.
kinput2's root window is invoked whenever the IME is turned on. so this problem
does not happen. (initial state is off)
I've put r=katakai because this is only workarond, and this patch has been
verified to work properly on AIX platform and the codes are in ifdef _AIX, no
risk for other platforms. However, please work to fix your IME of AIX as well.
Attachment #116861 -
Flags: review?(katakai) → review+
Assignee | ||
Comment 5•22 years ago
|
||
What is the behavior of Solaris, HP-UX, and other platforms with input style
GDK_IM_STATUS_NOTHING | GDK_IM_PREEDIT_NOTHING? Is it similar to the behavior of
kinput2 on Linux?
Comment 6•22 years ago
|
||
Solaris' XIM has also separate window for status display and
preedit display. But these are not invoked when the ic does not
have input focus. So this problem does not happen.
Comment 7•22 years ago
|
||
Comment on attachment 116861 [details] [diff] [review]
Patch v1
sr=blizzard
It's all ifdef _AIX anyway.
Attachment #116861 -
Flags: superreview?(blizzard) → superreview+
Assignee | ||
Comment 8•22 years ago
|
||
Comment on attachment 116861 [details] [diff] [review]
Patch v1
Requesting Mozilla 1.4 approval for an AIX specific change.
Attachment #116861 -
Flags: approval1.4?
Comment 9•22 years ago
|
||
Comment on attachment 116861 [details] [diff] [review]
Patch v1
a=asa (on behalf of drivers) for checkin to 1.4
Attachment #116861 -
Flags: approval1.4? → approval1.4+
Assignee | ||
Comment 10•22 years ago
|
||
Fixed.
Checking in gtkdrawing.c;
/cvsroot/mozilla/gfx/src/gtk/gtkdrawing.c,v <-- gtkdrawing.c
new revision: 1.32; previous revision: 1.31
done
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Updated•16 years ago
|
Product: Core → SeaMonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•