View Issue Details

IDProjectCategoryView StatusLast Update
0000283DarkRadiantGeneralpublic03.01.2010 18:21
ReporterSneaksieDave Assigned Togreebo  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version0.9.0 
Target Version1.1.0Fixed in Version1.1.0 
Summary0000283: Undo includes texture-to-clipboard function
DescriptionPossibly by design, but I don't think it really adds much benefit and actually causes some annoyance (I thought I'd found another problem with the current selection situation, but I think it's actually this instead).

-Have two brushes, textured differently.
-Pick up the texture from brush A. Apply it to brush face B with ctrl-MMB (or brush with ctrl-alt-MMB).
-Ctrl-Z/undo the texture paste.
-Now try to reapply the same texture again - although the previous action was pasting, and although the status bar shows the original texture in the clipboard (groovy, I never noticed that... duh), the texture is not applied to brush B.
TagsNo tags attached.

Activities

greebo

greebo

01.05.2007 17:08

administrator   ~0000604

Yes, I did this on purpose. As soon as you hit "Undo" the ShaderClipboard is cleared. The reason is that I can't be sure that the Undo operation doesn't delete the source brush, leaving an invalid reference in the Clipboard, which would crash DarkRadiant as soon as you try to paste the shader (from the now non-existent object).
SneaksieDave

SneaksieDave

01.05.2007 17:51

developer   ~0000607

Last edited: 01.05.2007 17:52

The clipboard depends on the source brush existing in order to function? That sounds like a problem in itself. Let me try something...

Okay, it didn't crash, but if I create two brushes, pick up the texture from the first, and then delete the first (certainly a normal operation bound to happen now and again while building areas), the clipboard texture is in fact lost. Shouldn't there just be a reference to the texture itself and not the brush, which would clear up both of these (admittedly minor) issues?

greebo

greebo

01.05.2007 18:21

administrator   ~0000608

Last edited: 01.05.2007 18:21

Of course it doesn't crash, because I took care that the Clipboard is cleared on object deletion as well. ;)

I chose to just store a reference, because I need more than just the shadername to perform the more complex projections/natural texture stuff. A patch has just its texture coords, whereas a brush has a so-called "TexDef", which is a matrix among a few other things.

I didn't want to copy and store those data structures into the ShaderClipboard as the reference itself is sufficient. If you think that this is impractical, I can go the way of copying all those values into the clipboard as well.

SneaksieDave

SneaksieDave

01.05.2007 18:40

developer   ~0000609

Not sure, kinda hard to decide. On the one hand, it was something that I thought (for quite some time now - I only just figured it out today) was an actual problem with selection or copy/paste. On the other hand, it's a relatively minor inconvenience to have the texture cleared (at least it doesn't crash).

Perhaps we should suspend it (perhaps indefinitely). At least it'll be there if there's ever nothing else in the queue.
greebo

greebo

16.08.2007 07:10

administrator   ~0000733

This issue seems to be an annoyance, reopened and assigned to myself.

Issue History

Date Modified Username Field Change
01.05.2007 14:34 SneaksieDave New Issue
01.05.2007 17:08 greebo Note Added: 0000604
01.05.2007 17:08 greebo Assigned To => SneaksieDave
01.05.2007 17:08 greebo Status new => feedback
01.05.2007 17:51 SneaksieDave Note Added: 0000607
01.05.2007 17:52 SneaksieDave Note Edited: 0000607
01.05.2007 18:21 greebo Note Added: 0000608
01.05.2007 18:21 greebo Note Edited: 0000608
01.05.2007 18:40 SneaksieDave Note Added: 0000609
01.05.2007 18:40 SneaksieDave Status feedback => suspended
16.08.2007 07:10 greebo Note Added: 0000733
16.08.2007 07:10 greebo Assigned To SneaksieDave => greebo
16.08.2007 07:10 greebo Status suspended => assigned
17.12.2009 18:34 greebo Status assigned => resolved
17.12.2009 18:34 greebo Fixed in Version => 1.1.0
17.12.2009 18:34 greebo Resolution open => fixed
17.12.2009 18:34 greebo Projection none => minor fix
17.12.2009 18:34 greebo ETA none => < 1 day
17.12.2009 18:34 greebo Build => 5093
17.12.2009 18:34 greebo Target Version => 1.1.0
03.01.2010 18:21 SneaksieDave Status resolved => closed