|
Joined: Mar 2020
Posts: 7
Nutrimatic drinks dispenser
|
OP
Nutrimatic drinks dispenser
Joined: Mar 2020
Posts: 7 |
Hello,
I use Linux as my daily OS but still really like mIRC, so I always run it inside of Wine.
Since the update to 7.74, whenever someone sends me a private message and this causes a new query window to open, mIRC becomes completely unresponsive and hangs. The CPU usage also goes to a very high percentage.
If I open the query window first before they start talking, there is no problem. Also, the message that causes the issue is still saved to the log, but any messages after that aren't.
Just to be certain it wasn't something about my config, I spun up a clean Linux VM, installed Wine and mIRC and tried it there, and the exact same thing happened.
|
|
|
|
Joined: Dec 2002
Posts: 5,493
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 5,493 |
Thanks for your bug report. Which version of mIRC were you using before upgrading, where this was not happening? Also, which IRC network are you connecting to?
Update: I have tracked this down to the arrange icons feature, which was updated in v7.74. On Wine, it behaves differently, resulting in a freeze. This has been fixed for the next version.
Last edited by Khaled; 06/08/23 12:13 PM.
|
|
|
|
Joined: Mar 2020
Posts: 7
Nutrimatic drinks dispenser
|
OP
Nutrimatic drinks dispenser
Joined: Mar 2020
Posts: 7 |
I upgraded from 7.73 to 7.74. It wasn't happening in 7.73. I mostly use Slashnet, but just to try it out I just also connected to libera.chat and there the same thing happens. By the way, while my post was pending here I started doubting whether this should be fixed in mIRC or in Wine, so I also made a bug report in the Wine project: https://bugs.winehq.org/show_bug.cgi?id=55406
|
|
|
|
Joined: Dec 2002
Posts: 5,493
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 5,493 |
No problem, the fix to get around how Wine behaves is actually useful as an extra check under Windows. While Wine was behaving differently, I am not sure I would class this as a Wine bug simply due to how complex the order and timing of windows messages can be sometimes.
|
|
|
|
Joined: Mar 2020
Posts: 7
Nutrimatic drinks dispenser
|
OP
Nutrimatic drinks dispenser
Joined: Mar 2020
Posts: 7 |
Well, in any case, thank you for the fix.
I know this is a bit offtopic but while we're talking about mIRC in Wine, there's one other issue that's been there since I started using this setup and that I've never been able to solve.
It's a minor annoyance, since everything else works perfectly fine. But emojis simply won't show right, they usually appear as empty boxes or something. I tried installing custom Wine fonts and everything but nothing I tried seems to fix it.
Do you maybe happen to have any idea why this is happening and if there's something I can do about it?
|
|
|
|
Joined: Aug 2023
Posts: 1
Mostly harmless
|
Mostly harmless
Joined: Aug 2023
Posts: 1 |
No problem, the fix to get around how Wine behaves is actually useful as an extra check under Windows. While Wine was behaving differently, I am not sure I would class this as a Wine bug simply due to how complex the order and timing of windows messages can be sometimes. Wine developer here — could you share more details? What assumption was mIRC making about message order? We often consider divergence from Windows that an application relies on to be a bug, whether documented or not, and even if mIRC isn't making these assumptions anymore, well, if one application relies on them another might that's less likely to change, so we'd probably like to fix this in Wine as well.
|
|
|
|
Joined: Jul 2006
Posts: 4,187
Hoopy frood
|
Hoopy frood
Joined: Jul 2006
Posts: 4,187 |
If you're using a font which has the glyph you are looking for, then it probably works fine under wine, otherwise wine users wouldn't be too happy.
Non experienced (with fonts/mirc/Windows) users usually have no idea about which or if their font has a given glyph. This often leads them to think the font they are using does have the glyph (at least in the mIRC context) because Windows by itself (but mIRC as well when custom drawing), will use fallback fonts to find a character (glyph), this is done to avoid displaying something else than the correct character, whatever that could be.
I do believe you have no idea if the character/glyph/emoji you're talking about is present in the font you're using or not, and because mIRC isn't the only program to do this, it can be tricky to find out if the font has the character or not.
Which emoji are you talking about and which font are you talking about? Specifying your OS is also relevant because different OS have different font file/version for a given font. I suspect that the emoji is not present in the font and Wine would be having issues supporting either the fallback from mIRC or even the built-in Windows' one (for example, editbox are drawn and handled by Windows, a channel window is handled by mIRC, often leading to huge difference in appearance between editboxes and channel windows)
Last edited by Wims; 08/08/23 11:05 AM.
#mircscripting @ irc.swiftirc.net == the best mIRC help channel
|
|
|
|
Joined: Dec 2002
Posts: 5,493
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 5,493 |
Wine developer here — could you share more details? What assumption was mIRC making about message order? Thanks for your post. I made a change in v7.74 that would trigger the auto-arrange MDI icons feature when various MDI window events took place, such as minimizing, etc. Under Wine, this led to WM_SHOWWINDOW being called repeatedly. However, as far as I can tell, this particular issue was due to mIRC intentionally behaving differently under Wine in some contexts. I resolved it by delaying/minimizing the calls to the auto-arrange feature. So I would mark this down as a bug in mIRC when running under Wine. There are currently around fifty places in the code, across different features, where mIRC behaves differently under Wine (based on reports/requests over the years), so it can be tricky to test all of these with every feature change. I need to go through the Wine-specific changes at some point to see if they are still needed, since some of them are quite old.
Last edited by Khaled; 08/08/23 03:15 PM.
|
|
|
|
Joined: Mar 2020
Posts: 7
Nutrimatic drinks dispenser
|
OP
Nutrimatic drinks dispenser
Joined: Mar 2020
Posts: 7 |
Which emoji are you talking about and which font are you talking about? Specifying your OS is also relevant because different OS have different font file/version for a given font. I suspect that the emoji is not present in the font and Wine would be having issues supporting either the fallback from mIRC or even the built-in Windows' one (for example, editbox are drawn and handled by Windows, a channel window is handled by mIRC, often leading to huge difference in appearance between editboxes and channel windows) I have definitely noticed the difference between the edit box and channel windows yeah. I can't get any emojis to work, so let's just give a simple example: the basic grinning face emoji: 😀 My OS is Xubuntu 23.04 (and it being Xubuntu it of course uses XFCE Desktop Environment). I've had this installation for quite a few years so it's seen a bunch of upgrades. I currently use the Ubuntu Mono font. But it really doesn't matter, because I can choose literally any font and the result is the same: it doesn't work. This is how the grinning face emoji shows up in the channel window and edit box: The channel window actually attempts to print it as two characters. Same happens for any other font.
|
|
|
|
Joined: Jul 2006
Posts: 4,187
Hoopy frood
|
Hoopy frood
Joined: Jul 2006
Posts: 4,187 |
Your currently selected font does not have the emoji. The font fallback from either Windows or mIRC is using hardcoded name fonts which don't exist on your system, the result you see in channel is probably the two surrogates which are used to form the emoji character in utf16.
So the result you see there is most likely normal, you would need to install the Windows fonts on your system and it should most likely solve the issue.
Here is the list of font that mIRC itself looks for when it can't find the character in your current font, which you would need to install:
-Microsoft Sans Serif -Arial Unicode MS -Tahoma -Arial -Lucida Sans Unicode -Code2000 -Fixedsys Excelsior 3.01
For editboxes, which are handled entirely by Windows, there's some font fallback being done but arguably, over the years it's only doing a worse job than mIRC (and i'm not sure which font are used), so you would need to select a font which have the character you want in this case.
#mircscripting @ irc.swiftirc.net == the best mIRC help channel
|
|
|
|
Joined: Mar 2020
Posts: 7
Nutrimatic drinks dispenser
|
OP
Nutrimatic drinks dispenser
Joined: Mar 2020
Posts: 7 |
Your currently selected font does not have the emoji. The font fallback from either Windows or mIRC is using hardcoded name fonts which don't exist on your system, the result you see in channel is probably the two surrogates which are used to form the emoji character in utf16.
So the result you see there is most likely normal, you would need to install the Windows fonts on your system and it should most likely solve the issue.
Here is the list of font that mIRC itself looks for when it can't find the character in your current font, which you would need to install:
-Microsoft Sans Serif -Arial Unicode MS -Tahoma -Arial -Lucida Sans Unicode -Code2000 -Fixedsys Excelsior 3.01
For editboxes, which are handled entirely by Windows, there's some font fallback being done but arguably, over the years it's only doing a worse job than mIRC (and i'm not sure which font are used), so you would need to select a font which have the character you want in this case. Of those, I have installed: @Arial Unicode MS (for some reason prefixed with an @) Tahoma Arial I just installed Lucida Sans Unicode as well as a test. I just opened a chat window, actually set the font to Arial and also to Lucida Sans Unicode and in either case the effect is the same. If I put any unicode emoji, such as 😀 in a message, it just shows up as two empty squares. Installing fallback fonts does not seem to help.
|
|
|
|
Joined: Jul 2006
Posts: 4,187
Hoopy frood
|
Hoopy frood
Joined: Jul 2006
Posts: 4,187 |
If that didn't fix the problem then I have no idea. Perhaps Khaled can look into it.
#mircscripting @ irc.swiftirc.net == the best mIRC help channel
|
|
|
|
Joined: Dec 2002
Posts: 5,493
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 5,493 |
Okay, this threads now involves the original bug report and an issue about emojis in Wine. Please try not to mix topics in one thread in future, it makes it really difficult to track issues. I just opened a chat window, actually set the font to Arial and also to Lucida Sans Unicode and in either case the effect is the same. If I put any unicode emoji, such as 😀 in a message, it just shows up as two empty squares. There are several issues here. First, you need a font that supports emojis. On Windows, the only installed font I have found, so far, that supports emojis is Segoi UI Emoji. Second, the fallback/font-linking code is ridiculously complex and took years to tweak to make it work reasonably well. I am not going anywhere near it just to try to get it to work under Wine :-] Third, see here for a Wine bug report that sounds like your issue.
|
|
|
|
Joined: Mar 2020
Posts: 7
Nutrimatic drinks dispenser
|
OP
Nutrimatic drinks dispenser
Joined: Mar 2020
Posts: 7 |
Thanks Khaled. I'm sorry, didn't expect my question to lead to a whole discussion. From that bug report, sounds like the problem is really entirely with Wine. Thanks for looking that up. I think there's nothing further to discuss then.
|
|
|
|
|