Ticket #20 (closed defect: fixed)

Opened 5 years ago

Last modified 4 years ago

Username sometimes does not appear in info panel

Reported by: uncle_fungus Assigned to: uncle_fungus
Priority: minor Milestone: 2.3.2
Component: GUI Keywords:
Cc:

Description

In Linux, occasionally the Username doesn't appear in the WU info panel. The occurrence seems to be completely random though, and usually restarting FahMon will restore the missing field.

Attachments

snapshot5.png (13.3 kB) - added by uncle_fungus on 10/27/07 17:28:14.

Change History

10/27/07 17:28:14 changed by uncle_fungus

  • attachment snapshot5.png added.

10/28/07 11:12:09 changed by uncle_fungus

  • status changed from new to assigned.

11/26/07 17:36:06 changed by calxalot

Speculation: Because mUsername is a wxWindow, the z-order can get messed up somehow.

Solution might be to use mUsername->Raise().

11/26/07 17:53:40 changed by uncle_fungus

mUsername is a staticUrl, which derives from wxStaticText, so there is no raise() method.

The z-ordering might be a problem though, but it's hard to work out what's going on.

The problem is, that the object doesn't appear, which suggests a z-ordering problem, but it still functions as if it were there. I.e. the onClick() action still works on the "invisible" object, which suggests that it still is on top.

My best guess at the moment is that it is an interaction with it's parent, which is a wxBoxSizer, since the same objects work perfectly well when they are children of a wxPanel, as seen on the about dialog.

11/26/07 18:39:03 changed by calxalot

You are mistaken:

/**
* This class is like wxStaticText, but represents a clickable URL
* It would have been easier to inherit from wxStaticText, but it doesn't seem to generate MouseEnter and
* MouseLeave events (at least with wxGTK)
**/
class StaticUrl : public wxWindow

I would suggest changing it to wxStaticText, and giving up on the rollover behavior.

11/26/07 19:01:39 changed by uncle_fungus

Oops, you're right of course. Thanks for pointing out my incompetence, I blame it on the time of night ;)

The Raise() method had no positive effect unfortunately.

It might be favourable to replace this whole mess with wxHyperlinkCtrl. The only potential problem with this is that it requires wxWidgets 2.8. This is fine for Windows/OS X as I can build it against whatever library I choose, but it may cause problems for some Linux users who run distros that haven't put 2.8 in their repos yet. (Last time I checked Gentoo hadn't got it f.e.)

11/26/07 19:34:32 changed by calxalot

Maybe inheriting from wxControl would work.

11/26/07 20:23:48 changed by uncle_fungus

Unfortunately that doesn't work either. The same thing happens (as well as other visual breakages).

wxHyperlinkCtrl appears to work perfectly well though (on Linux at least).

01/17/08 13:54:56 changed by uncle_fungus

  • status changed from assigned to closed.
  • resolution set to fixed.

Closed. wxHyperlinkCtrl works in Linux and Windows using wxWidgets 2.8.