Ok - reviewed with Michal, removed 4 lines of dead code in __be_name_edited() and adjusted glade file to add a non functional help button needed for UI freeze. There is a separate bug to hook this up, which we are not fixing here #6987. Will commit to the gate.

JR

Padraig O'Briain wrote:
I have created a new webrev, http://cr.opensolaris.org/~padraig/ips-6975-v1/, based on Michal's to fix the problem which Joanie reported.

The changes I made were at lines 313 and 382 and they both call gtk functions in an idle handler rather than in a non-GUI thread which is the cause of the problem Joanie reported.

Michal said

I had to put time.sleep(0.1) instead of gtk.events_pending() to allow gtk to hide the dialogs and move progress. The events_pending was not working as I suspect the libbe is really doing a lot of low level stuff which prevents the do gui refresh.
The calls to gtk.events_pending were being made in the non-GUI thread. It is just as well that they are removed as they are likely to cause problems when used in accessibility.

The calls to time.sleep(0.1) compensate for deficiencies in Python threads.

Padraig

Padraig

On 03/07/09 05:37, Joanmarie Diggs wrote:
Hi guys.

I just tried this one with Orca and things are locking up again. What I
had done:

1. Launch Orca & Packagemanager
2. Use the new dialog to change the names of two of my BE's
3. Click the OK button

At this point everything both Orca and Packagemanager become
unresponsive. When I killed Orca, the "Manage BEs Changes Confirmation"
dialog appeared.

4. Relaunch Orca
5. Click the OK button in the confirmation dialog

Here the Applying Changes window appeared, the progress bar twitched
once, and both apps became non-responsive. When I killed Orca, things
completed.

I also noticed a traceback:

Traceback (most recent call last):
  File "/usr/lib/python2.4/vendor-packages/pkg/gui/beadmin.py", line
245, in __on_ok_be_clicked
    Thread(target = self.__activate).start()
  File "/usr/lib/python2.4/threading.py", line 418, in start
    _sleep(0.000001)    # 1 usec, to let the thread run (Solaris hack)
TypeError: __main_application_quit() takes at most 2 arguments (3 given)

Take care.
--Joanie

On Fri, 2009-03-06 at 17:00 +0000, Michal Pryc wrote:
Padraig,
The breakage to this was probably made when we stopped calling the beadm(1) and started using libbe.

I had to put time.sleep(0.1) instead of gtk.events_pending() to allow gtk to hide the dialogs and move progress. The events_pending was not working as I suspect the libbe is really doing a lot of low level stuff which prevents the do gui refresh.

The webrev:
http://cr.opensolaris.org/~migi/6975_be_rework_v1

Michal


Michal Pryc wrote:
There should be dialog with bouncing progress.
Isn't there?

Michal

Padraig O'Briain wrote:
Should there be something like a busy cursor when I press OK on the Change Confirmation dialog?

Padraig

On 03/06/09 11:11, Michal Pryc wrote:
Hello,
Webrev:
http://cr.opensolaris.org/~migi/6975_be_rework/

Bug:
http://defect.opensolaris.org/bz/show_bug.cgi?id=6975

The glade file is the one that is also in the webinstall webrev, because it is quite pain to merge the glade files.

This webrev makes all apply (rename, active, delete) to be done after clicking on the ok on the confirmation dialog. Before only active/delete operation were like this and rename was instant. Also a lot of GUI BE Mgmt changes as discussed with xDesign.

best
Michal

_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

------------------------------------------------------------------------

_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to