The Linux Page

QtWarning QMetaObject::connectSlotsByName: No matching signal for on_something_event()

Today I noticed that I was getting this warning while running one of my tests1:

   QtWarning QMetaObject::connectSlotsByName: No matching signal for on_something_event()

Search with Google I found a post that explained, very clearly, what happens. I'd bet it's somewhere in the documentation of Qt, but so far I have not found anything about that in ...

  • 1. I had not noticed before... Unfortunately, you get a s**t load of output under the Windows IDE about the loading of DLLs which no one really cares about and that often blurs your view of other much more important messages!

Thunderbird Sent folder disappeared

A little while ago I had a problem with the Thunderbird Sent folder.

I'm not too sure what had happened but it just wouldn't work right.

I found a page talking about the problem here:

http://forums.mozillazine.org/viewtopic.php?f=39&t=763585

The solution that worked for me is actually documented in that post. Ther eit is:

  1. Go to your account folder and check the properties.
  2. Click on "Copies & Folders" and then make sure that you use the "Sent" folder option
  3. Enable Place a copy in under "When sending messages, automatically:"
  4. ...

Qt and DLL mismatch / error

My Story

I'm using Qt under Linux and MS-Windows.

When I started with MS-Windows, I could not run the Release version. I thought the problem was because I was using a pre-compiled version of Qt 4.6.x and let it go for a while.

At some point, I finally upgraded to Qt 4.7.x thinking that would clear off that Release problem.

This time around, I actually compiled the library, see instructions here:

  Compile Qt 4.7.x with Visual Studio 10 (VC++ 2010)

The result was that a few bugs I noticed while running with 4.6.x were gone. Nice. However, I still couldn't run with the release version. Why would that be?

I

Norton Anti-Programmers

Today I discovered why I was having a few hurdles last week.

The IT department pushed the installation of Norton Anti-virus with some Internet controls, whatever the exact name is...

The utility installs itself intrinsically in the operating system. This means it actually transforms a certain number of low level functions to manipulate your data files and check them as soon as they are created.

The potential results are that as your compile files:

  1. The file may be found to be locked (Norton locks it to verify it even if the compiler isn't finished.)
  2. The file may be removed ...

Restore Firefox warnings when viewing non-secure data on a secure page

Danger! Better you know if accessing unsecure data!

One thing that I quickly do on my browsers is turn off warnings about non-secure data when browsing secure pages (with HTTPS .)

It's rarely a problem and with all those features you like to have (Facebook, Twitter, AddThis, ShareThis, Google Plus, and othe fun widgets...) it's hard to avoid. Actually, many times the problem lies in one of these scripts and thus you cannot just fix your website. Without that 3rd party script owner fixing their code, it just won't work at all.

Now, once in a while I work on a customer website and they really want to have a 100% clean slate. Thus, ...

Skip Postgrey test with a Postfix restriction map

By default, when postfix is installed with postgrey, all the emails that are not blocked by some other means are all passed to postgrey.

What if you have a customer who doesn't want to wait forever to get his/her emails?

Well... you need to bypass postgrey (and good luck to him/her in regard to heavy spamming...)

The setup requires two additional entries as defined here:

# in main.cf
smtpd_restriction_classes = permissive
permissive = permit

Here we define a new class called "permissive" (which is case sensitive!) and that we will use in the restriction access file.

.change() not working right in Internet Explorer

I had a problem with jQuery and was wondering what could be wrong. Looking around for a solution, it was clear that Internet Explorer is the problem. Not the other way around (As usual.) The thing is that the function works, just not in realtime.

So... I have a Terms and Conditions flag, when you click it, I want to enable the Submit button in the form (by default the button is disabled.)

So I have a function something like this:

var valid = function check_valid() {
  // compute valid
  var valid = ...;
  // assume valid === true if button should be enabled
  ...

Compile Qt 4.7.x with Visual Studio 10 (VC++ 2010)

Try to recompile Qt with Pavel's instructrions...

I did not encounter much problems, although the examples failed. It looks like jom would be the problem as some people reported not having problems following the same steps, but using nmake instead of jom.

The instructions go like this: [Update: the links below all stopped working.]

  1. Visual C++ 2010 contains all necessary SDKs for Qt compilation. However if you plan to use Qt with Phonon you need to install additional software from Qt for Windows Requirements list.
     
  2. Download and extract Qt 4.7.4 Sources. (Or Qt ...

Assembly Language on MS-Windows and PE / COFF Browser

As I was looking for a COFF Browser today (a tool that would show me the internals of a DLL or EXE file) I stumbled upon a page talking about Assembly Language and the GoAsm tools.

The page is here: [page was removed]

Interestingly enough, he has a link to an advanced assembler called GoAsm. This is specifically for MS-Windows and they do not release the source code of the assembler (at least, not that I can see...) But it is still interesting to see such tool suite around. 8-)

The C++ delete operator, will it do what you expect?

It has always been weird to me to see that the delete operator was not actually going to call all the destructor on objects. That is, if you create a class B that derives from a class A, deleting an object when cast to A does not (by default) call the destructor defined in class B.

The result is that ALL classes should define their destructor as virtual. This doesn't make sense because you shouldn't have to have a virtual table in all your objects just for the destructor to work right. On the other hand, class A has no way to know that it will be derived by class B so its destructor