Seriously, Epic?

I just updated from 4.20 to 4.22 and I’m getting errors when compiling calls to GetAllWidgetsWithInterface()
Turns out epic switched parameter 2 and 3. Simply switched them around, nothign else! And I can now hand edit hundreds of occurrences.
Seriously???

Not that big deal. Try to use search and replace (QT Creator is equipped with it) dunno about your IDE. Next, this is not a place to whine. Either write a personal mail to Tim Sweeney or open a pull request about it.

Oh yea, please excuse me for living, daddy!

Thats what versioning is for.

What is versioning for?

Please remember to follow the Forum Rules/Code of Conduct when posting.

I can highly recommend using Visual Assist by Whole Tomato.

I’ve found it very useful for refactoring code, among many other things.

Smells like bad code here.

Thank you for your insights into my code that you have never seen. So in your opinion when you have to have hundreds of functions in which you handle different windows with different interfaces and you call a function that is supposed to return those interface references to you, that’s bad coding?

Lol, ignore that please. I am myself updating UT’s code as per new Engine and there are limitless instances where I have to update earlier-public-now-private data members manually by hand chiefly because I have no clue about their codebase. Cheers!

First I was not disrespectful. I have questioned the wisdom of the Epic programmer who simple exchanged the order of two parameters without apparent reason and without even giving so much as a hint why that was necessary in the comment. Maybe he could have declared the old function obsolete and added a new one with the changed order instead if it was absolutely necessary to have such a function. If you were referring to the first one who answered and told me that “this is no place to whine” I was merely referring to the fact that I did not believe that he had any authority to tell me what to say, at least from what I could tell he had no badge on his shirt.

Second, nobody here seems to realize that “search and replace” does you no good when you call a function. I give interface names in the function calls that are all different. When you have different strings, a “search and replace” will do you no good and there is no search function I know of that can take an input of the form “find all occurrences of this call, then scan to the second and the third parameter, extract them and exchange their order”
I hope I made this clear now for everybody who thinks “you never heard of search and replace?”.

Alright then, glad you see the light then. I am no ***hat but I can’t stand when I get the feeling somebody who is no better than myself is talking down on me. No hard feelings then

Look I have no clue what IDE you are using, but QT creator can easily be modified to serve the purpose (for parsing functions SEE UE HEADERTOOL). If you are really a coder as you say, I do hope you understand what I say. I don’t need any badge to reinforce if I am right.

The title of this thread “Seriously, Epic?” is certainly not referring to any codebase maintained by Epic. Then the OP is not stating any well formed question, query or suggestion. It is chiefly about stating switch in the parameters which can not be reversed by posting in this forums (I haven’t seen Epic staff here yet). If this is not whining, I don’t know what is and how it is beneficial for other coders. If you are a coder and know how to use GitHub, I do hope you understand.

Lastly, after reading the title, I mildly hoped to see a healthy and intellectual post and instead I find unproductive train of thoughts which led to to write the reply. If you are a coder, I hope you do try to understand.

You are right I am no better than you (swearing makes that no clearer). And I never had hard feelings, because it wasn’t personal. If you are a coder, you know I am telling the truth.

I am using VS just for the record and I don’t really think I should get another IDE or start to write a scanner to fix a one time code change. As for the rest of your post, I’m sorry that I was wrong about you earlier, apparently you have to let others feel how superior you are and how they have to behave, so just to let you know you are not somebody I care to have a conversation with. Unfortunately this forum has no way to put you in a block list, but consider yourself blocked from now on.

Well that is an idea for forum moderators/managers! Facebook certainly has that.

CTRL + H

Also IIRC you can mute people on the forums if you really want to.

As Kris said, you might want to take a look at Visual Assist: Rightclick on your method definition, declaration or any call -> quick actions and refactorings (VA) -> change signature. I did a quick test and when changing the signature from…


void test(int a, int b)

to


void test(int b, int a)

it changed the order on all calls as well.

With a bit of creativity, you can probably use this in your case.

Alternatively, depending on the complexity of your parameters, a simple regular expression might suffice.

i think Visual Studio has that functionality built in now, also

^ this.

I wasn’t aware.
I picked up Visual Assist years ago and just got used to using it I guess :slight_smile:

It was my attempt at a gentle reminder to both yourself and @, as well as any others who were to come after.
It helps everyone when they can search for and find the information they are looking for without having to sift through unnecessary posts.

On topic, I am wondering if the change you describe was done to avoid warnings/errors caused by C++ standards update?
I had issues getting custom code to compile due to the order in which variables were init’d or some such.

Anyone know more about this?

At the risk of you too blocking me, I will say, you completely misunderstand the essence of my posts.

Take it easy man.

According to that document

“This is a slow operation, use with caution”

So yes, if you have 100 places where you call that function - a good indication of a bad code. All functions like FindAllActors*, and GetAllSomething are really bad to use, because they are too generic, too slow and too inefficient. And usually there are better ways to achieve that.

But I am no judge here, I think there are some use cases where these functions are very useful and simplify everything, but definitely not when they are used in “hundreds” of places.
At least you can abstract them to some class and later switch implementation to more efficient algorithm.