Strange behaviour on delete button with immediate=true

Hi, I'm using JDev11.1.1.2
I have dragged a view object as a editable form on the page.I added navigation + delete/create buttons.
As I see it all delete buttons should be immediate=true, because I want the user to be able to delete the current row despite validation errors (or maybe this is achievable some other way ? )
But now when I press the delete button, only the readonly fields are updated with next record in the iterator, but the input fields are not updated (they remain with the delete row's values).
If I set disable=true to an inputField, then it gets updated with the next row's value.
I tried with partialTriggers on the inputFields to the delete button - but no luck!
Why I get this different behaviour on inputFields and outputText when the delete button is immediate=true?
And how to deal with this problem?
Thank you!

Thank Frank for the answer, but still no luck
Here is my code:
<af:form id="f1" partialTriggers="cb6">
     <af:panelFormLayout id="pfl1" partialTriggers="cb6">
       <af:inputText value="#{bindings.Kod4.inputValue}"
                         required="true"
                         id="it1" partialTriggers="cb6">
     </af:inputText>
     <af:outputText value="#{bindings.Kod4.inputValue}" id="out1"/>
     <af:commandButton actionListener="#{bindings.Delete.execute}"
                           text="Delete" immediate="true" partialSubmit="true"
                           id="cb6"/>
     </af:panelFormLayout>
</af:form>As you can see there are one output and one input field for a same attribute ... the output field gets updated on delete, but the input - doesn't
There are partialTriggers and partialSubmit but still no luck
My view is really a simple one - 3 fields, based on an entity. Tried with different view objects - still the same effect occurs.
I don't see how a delete button can be of any help to the user if it is NOT immediate=true. I cannot add a row and delete it right away if there are validation errors
Please help!
Thanks

Similar Messages

  • Problem with immediate=true, maybe a Bug

    I'm using a dataTable for selecting an user. The selected userBean will be put to the session context with id "selectedUser". The next page allows to edit users values. This edit page contains a cancel button with immedtiate=true param to abort editing and go back to the list. The edit page contains some input fields like:
    <h:inputText id="firstName" value="#{selectedUser.firstName}" />
    <h:inputText id="lastName" value="#{selectedUser.lastName}" />
    These fields are showing correct values for the selected user. But after selecting another user from the list the edit page is showing the values of the previous selected user! By selecting the second user again and again after a while the edit page shows the correct values.
    Well, I've added a JSP expression to the edit page to show me if the selected user is the right one "Edit User (${selectedUser})". The value of this expression always shows the correct selected user.
    If I modify the command button from:
    <h:commandButton action="users" value="Cancel" immediate="true" />
    to:
    <h:commandButton type="reset" onclick="window.location.href='/faces/users'" value="Cancel" />
    the problem does not appear!!!
    For me it looks like a bug. Any ideas?
    Thx,
    Wolfgang

    Sorry for the imcomplete testcase, here it comes again:
    --- Users.java ---------------------------------------------
    package jsf.test;
    import java.util.ArrayList;
    import javax.faces.context.FacesContext;
    public class Users
    private ArrayList users;
    public Users()
    super();
    users = new ArrayList();
    users.add(new User("User_A", "firstName_A", "lastName_A"));
    users.add(new User("User_B", "firstName_B", "lastName_B"));
    users.add(new User("User_C", "firstName_C", "lastName_C"));
    public ArrayList getUsers()
    return users;
    public String edit()
    FacesContext context = FacesContext.getCurrentInstance();
    User user = (User)context.getExternalContext().getRequestMap().get("user");
    System.out.println("selectedUser: " + user);
    context.getExternalContext().getSessionMap().put("selectedUser", user);
    return "navToUser";
    --- User.java ---------------------------------------------
    package jsf.test;
    public class User
    private String loginName;
    private String firstName;
    private String lastName;
    public User()
    public User(String loginName, String firstName, String lastName)
    this.loginName = loginName;
    this.firstName = firstName;
    this.lastName = lastName;
    public String getLoginName()
    return loginName;
    public void setLoginName(String loginName)
    this.loginName = loginName;
    public String getFirstName()
    return firstName;
    public void setFirstName(String firstName)
    this.firstName = firstName;
    public String getLastName()
    return lastName;
    public void setLastName(String lastName)
    this.lastName = lastName;
    public String update()
    System.out.println("user update: " + this);
    return "navToUsers";
    public String toString()
    return firstName + " " + lastName;
    --- users.jsp ---------------------------------------------
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <html>
    <body>
    <f:view>
    <h:form id="selectUser">
    <b>Users</b><p>
    <h:dataTable id="users" value="#{users.users}" var="user">
    <h:column>
    <f:facet name="header">
    <h:outputText value="Login Name" />
    </f:facet>
    <h:commandLink action="#{users.edit}">
    <h:outputText value="#{user.loginName}"/>
    </h:commandLink>
    </h:column>
    <h:column>
    <f:facet name="header">
    <h:outputText value="First Name" />
    </f:facet>
    <h:commandLink action="#{users.edit}">
    <h:outputText value="#{user.firstName}"/>
    </h:commandLink>
    </h:column>
    <h:column>
    <f:facet name="header">
    <h:outputText value="Last Name" />
    </f:facet>
    <h:commandLink action="#{users.edit}">
    <h:outputText value="#{user.lastName}"/>
    </h:commandLink>
    </h:column>
    </h:dataTable>
    </h:form>
    </f:view>
    </body>
    </html>
    --- user.jsp ---------------------------------------------
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <html>
    <body>
    <f:view>
    <h:form>
    <b>User</b><p>
    <h:panelGrid columns="2" cellpadding="5">
    <h:outputText value="Login Name" />
         <h:inputText id="lognName" value="#{selectedUser.loginName}"/>
    <h:outputText value="First Name" />
         <h:inputText id="firstName" value="#{selectedUser.firstName}"/>
    <h:outputText value="Last Name" />
         <h:inputText id="lastName" value="#{selectedUser.lastName}"/>
    <h:outputText value=" " />
    <h:panelGroup>
    <h:commandButton action="navToUsers" value="Cancel" immediate="true"/>
    <%-- <h:commandButton type="reset" onclick="window.location.href='/faces/users.jsp'" value="Cancel"/> --%>
    <h:outputText value=" " />
    <h:commandButton action="#{selectedUser.update}" value="OK"/>
    </h:panelGroup>
    </h:panelGrid>
    </h:form>
    </f:view>
    </body>
    </html>
    --- faces-config.xml ---------------------------------------------
    <managed-bean>
    <description>
    Bean for TEST users.
    </description>
    <managed-bean-name>users</managed-bean-name>
    <managed-bean-class>jsf.test.Users</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    <managed-bean>
    <description>
    Bean for TEST user.
    </description>
    <managed-bean-name>user</managed-bean-name>
    <managed-bean-class>jsf.test.User</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <navigation-rule>
    <from-view-id>/users.jsp</from-view-id>
    <navigation-case>
    <from-outcome>navToUser</from-outcome>
    <to-view-id>/faces/user.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    <navigation-rule>
    <from-view-id>/user.jsp</from-view-id>
    <navigation-case>
    <from-outcome>navToUsers</from-outcome>
    <to-view-id>/faces/users.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>

  • Strange behaviour on question slides with a countdown timer!

    Hello Captivators,
    I am facing a strange behaviour on question slides with a countdown timer. Whenever I place a countdown timer on a question slide, one of the options/answers disappear. What is going wrong here? Am I missing anythig in the settings?
    I am using Captivate 8 (Trial Version).
    Thank you for your support in advance.
    Greetings

    Sorry for the double question. However, I see that there are 10 Captivate communities and I thought I can post my question in one or some of them. Anyway, I know now that it is "Not very friendly" to do that. Sorry again!

  • Global problem with immediate="true"

    JSF specifies that immediate="true" in UICommands should skip the Validation and Update Model phases.
    The RI uses the Update Model phase to reset the local values of the input components after updating the model. That means that in the case of immediate="true", the local values are not reset, and thus saved by the state manager.
    The problem is that the next display of the page shows the previously entered values, instead of getting the values from the model, which is somewhat strange for a 'cancel' button.
    I think this is mainly a problem with the spec which clearly indicates that the clearing of the local values should be done in the update model phase.
    Is it possible to have a workaround for this ?

    the previous posts have been made long ago, but I'll give it a try:
    I think this behavior is still buggy or at least not logical.
    Example:
    I've got a dataTable which shows a list of entries, each row with an "edit" commandButton and a "new" commandButton below the list.
    If the user clicks an "edit" button, he is redirected to the "details" page where he can edit and save the values of this entry. This works as expected. But: On the "details" page, there's also a "cancel" button, which should navigate to the list again, without doing any validation or updating.
    If I set this "cancel" button to "immediate", navigation works, but then I'll always see the values of the canceled entry, regardless of which "edit" button I click in the list.
    If the "cancel" button is not immediate, validation fails when the user clicks "new" and then "cancel", because he gets an empty form, but some or all fields are required.
    There are two workarounds:
    1) Creating two different views, one for creating a new entry and one for editing.
    2) The "cancel" button is a simple html-button, with the "onlick='location.href=xxxyyy'" attribute.
    IMHO both workarounds are ugly. So, why is the view ignoring that there is a complete different entry object in the backing bean of the "details" input fields???
    BTW: I'm using JSF SUN RI 1.1.01 (same with 1.2 current snapshot).
    With MyFaces, everythings works but it has some other bugs, so I want to stick to the Sun RI.
    Thanks,
    Walter

  • Problem with immediate="true" used with inputText

    Hi everybody,
    I have two component, A and B, of type inpuText. When A is updated, I want B to be updated according to the value provided in A.
    I have to use immediate=True + context.renderResponse because I'm using some converters and validators because I want to avoid error messages being displayed at that point.
    I'm using partialtrigger to tell B to refresh himself when A changes it's value.
    This doesn't work.
    If I'm using the same code, but with ouputText instead, everything works!
    the code looks like this:
    <af:inputText id="A" styleClass="normalInputText"
    label="A" simple="true"
    value="#{controller.formBean.A}"
    valueChangeListener="#{controller.updateB}"
    autoSubmit="true" immediate="false"/>
    <af:inputText id="netAmount" styleClass="normalInputText"
    label="B" simple="true"
    value="#{controller.formBean.B}"
    partialTriggers="A">
    public void updateGrossPriceDependentFields(ValueChangeEvent event)
    FacesContext context = FacesContext.getCurrentInstance();
    formBean.setA((Long)event.getNewValue());
    if(formBean.getA().intValue() == 0)
    formBean.setB(new Long(222));
    else
    formBean.setB(new Long(0));
    context.renderResponse();
    Any ideas?

    Hi ,
    Just Try with this instead of context.renderResponse();
    Context.addPartialTarget(ComponantNAME);
    So that it will get refreshed
    RHY
    Message was edited by:
    RHY

  • Strange behaviour of CC compiler with templates

    Hello!
    I have noticed a strange behaviour of CC compiler.
    The followint test-case compiles normally:
    #include <stdio.h>
    #include <complex>
    using namespace std;
    extern "C++" {
    template <class FLOAT> complex<FLOAT>
    cos (const complex<FLOAT>& x)
    return complex<FLOAT> (cos (real (x)) * cosh (imag (x)),
    - sin (real (x)) * sinh (imag (x)));
    int main(){
    return 0;
    But if you commenty string
    "using namespace std;" it gives error:
    /opt/ss11/SUNWspro/bin/CC test.cc
    "test.cc", line 8: Error: Templates can only declare classes or functions.
    "test.cc", line 14: Error: A declaration was expected instead of "}".
    2 Error(s) detected.
    make: *** [test.o] Error 2
    ----

    Class 'complex' is defined in the 'std' namespace. When you comment out 'using namespace std' compiler can't find definition of 'complex' and so treats function declaration as invalid construction. But I agree the error message is not quite clear.

  • Strange behaviour of Mail app with Google IMAP

    So lets say I compose a email with attachments (lets say 5 pictures) and while I do this mail application sends draft to the google server I have no problem with that.
    I have really slow upload speed so 16mb takes a while (~10 minutes). Now I wait until "draft" is fully sent to the google because I want mail/google to delete draft message when sent (this unwanted behaviour is commented here: Apple Mail puts a email in "DRAFTS" after I send it? ). When that is done (draft 100% on the google server) I SEND message and "what the heck is going on now" email is uploading AGAIN? - another 10 minutes browsing slowly.
    How can I prevent this behaviour?

    Sounds like you could try deleting the current keychain entry, then quit Mail.app. Open Mail.app again, when it asks for the password go ahead and type it in then just click Always Trust, etc. to see if it can hold onto that certificate this second time around. You also might have more than one entry in the Keychain list, so hunt around there a little to make sure you get everything deleted related to your Zimbra/Exchange IMAP accont.

  • Strange behaviour of PC Suite with 6500c after sof...

    Hi everyone, 
    I have a 6500c connected via USB to my PC running PC suite.  For ages I've been able to send and receive messages via the PC Suite quite happily and view contacts etc.  But that has stopped since I updated my firmware and the PC Suite software.
    Now when I plug the phone into the USB cable, it no longer sychronises with PC Suite (I choose PC Suite from the phone).  PC Suite recognises the phone, charges the battery and I can still browse the phone's memory.  I can still send messages, but if I click the refresh button in the Nokia Communication Centre, it will not refresh my messages so I can't read them or reply to any.  The drop down in the number field also doesn't show numbers/names from the phone.
    If I go to the Contacts app of PC Suite, it reports "Refreshing of contacts failed"
    When I go to "Settings > Settings..."  and click "Check the notifications supported by this device: Nokia 6500c" it runs the test and says the phone supports the following:
    Notifications for incoming calls : Yes
    Notifications for incoming messages : No
    Battery level notification : Yes
    I've reinstalled the firmware and PC Suite but it's still no better.  I can't do a Restore All factory default on the phone as I don't know the code it asks for!
    The 6500c firmware is v09.45 (the latest according to the software updater)
    The PC Suite version is 7.1.18.0
    Can anyone help me?
    Any help gratefully aprreciated!!
    Steve

    Hi,
    I'm facing this same problem from december 2009. Phone notifications does not work. Battery level bar doesn't work too (only in BT mode).
    These are known isues of 7.1.18.0 still not removed.
    If you want have your old functionalities, install older version 7.0.9
    Code for factory default should be 12345, if not changed.
    Cheers
    N95 & N96 User

  • New "delete" button with most recent firmware

    Hi
    After downloading the most recent iPhone update, 4.1 i believe, I received an email which I read n my phone, and when I was finished, I pressed the icon which is where the dustbin icon used to be. I assume that this sends emails to trash, but when checking trash on both my phone and my online ail account (googlemail) the mail item is no where to be found. I tested this process with two further emails with the same results.
    Can anyone shed any light on what is happening please?
    Thanks

    If you've been archiving the messages, they have not been deleted. Log into your Gmail account online & they should all still be there. They are only deleted if you move them to trash then empty trash.

  • Implementing delete button with check boxes

    I read the how to instructions titled: "Adding check boxes to each row in a report". I believe I followed the steps correctly however when I test the process I get the unsuccessful error along with this error text: ORA-06550: line 8, column 2: PLS-00103: Encountered the symbol ";" when expecting one of the following: begin case declare end exception exit for goto if loop mod null pragma raise return select update while with << close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe The symbol "exit" was substituted for ";" to continue.
    I am guessing there is an error with in this code:
    for i in 1..HTMLDB_APPLICATION.G_F01.count
    loop
    delete from acceptance_criteria
    where item_number = htmldb_application.g_f01(i);
    end loop;

    Anonymous - Please see Using a custom PL/SQL to populate the primary key in a tabular form
    Scott

  • Strange behaviour in Chromium browser with PDF links

    I am using the Chromium browser from the repository (v4.0.249) and xpdf as my PDF reader. xpdf launches fine from Firefox and Opera when clicking a PDF link in a website. Before I had Chromium set as my default browser Chromium would actually launch Firefox(!) and then FF would load the PDF document into xpdf. That in itself is strange. Now that I have Chromium set as my default browser (using "export BROWSER=/usr/bin/chromium" in ~/.bash_profile) when I click a PDF link Chromium opens a new tab and gives me this error:
    This webpage is not found.
    No webpage was found for the web address: file:///home/larry/Downloads/Hardware
    The Downloads directory is where all my downloads go. Any ideas on how to set up Chromium to use xpdf properly would be greatly appreciated. I went to the Chromium forum and there was a similar query with no response as of yet.

    Works for me™
    Do PDFs open in the right app if you open them with 'xdg-open path/to/pdf/file' ?
    Edit:
    I forgot to mention that I haven't set any "special" environment variables before using chromium.
    Last edited by R00KIE (2010-01-01 00:41:03)

  • Strange behaviour of Crystal report with BEx Query

    Hiii. All
    I have created a crystal report on top of BW-BEx query. My query contains a structure other than Keyfig.
    Thats why I am using BW-MDX query option to build my Report.
    i Have created a cross tab in my report taking the structure as Column and some key figures in Summarised fields.
    till here it works fine. but whenever I am dragging some fields say "Project Defination or Location" to  report header section, which are also coming frm BEx query. then my cross tab is not showing all colomn of the structure(Precisely it removing one column of the structure).
    Can anyone pls tell me  why is it happening. and how to proceed to solve this.
    Waiting for your reply..
    Thanks
    Anish

    Hi,
    Thanks for your reply.
    Yes it returning data . Structure contains total 13 columns .
    So It is suppose to return all 13 of them. and it is doing so till i don't drag-drop the field. once i do this its behaving strangely and returning me only 12 columns.
    CR 2008 Version : 12.3.0.601
    BO Version : BO XI  3.1
    Regards,
    Anish

  • Strange behaviour on default button

    Hi,
    I have a frame which has a default button (the button which automatically gets triggered when enter key is pressed. And I am popping up a modal dialog on the JFrame which also has it's own default button.
    The tester kept pressing the enter key for about 10 seconds without taking the finger off the enter key on the modal dialog and randomly the JFrame's default button is getting invoked.
    I am setting the dialog as modal, but yet this happens. Do I have code anything else to avoid this thing from happening.
    Thank you.

    What happens when the user selected the default button on the dialog? Does that hide the dialog and give the main frame focus? If so, then you would extect the enter key press to go back and forth.
    If that is not the problem, one option would be to disable the default button when you are processing a selection.

  • Popup cache with button has property immediate="true"

    Hi
    I am using jdevloper 11.1.2.2
    I have caching  problem with popup has contentDelivery="lazyUncached" and I add cancel  button on popup with  immediate="true" to skip validation in input fields at popup.
    After I click cancel button it hide popup , but again If I show popup, it still cache old data in input feilds.
    My popup source is as below
    <af:popup childCreation="deferred" id="compPop"
                      binding="#{pageFlowScope.CustomersBean.compPop}" autoCancel="disabled" contentDelivery="lazyUncached">
                <af:dialog id="d1" title="#{viewcontrollerBundle.COMPANY} #{pageFlowScope.mode}" closeIconVisible="false"
                           type="none">
                    <f:facet name="buttonBar">
                        <af:toolbar id="t2">
                            <af:commandButton text="#{viewcontrollerBundle.SAVE}" id="cb6"
                                              actionListener="#{pageFlowScope.CustomersBean.onClickSaveCompPop}"/>
                            <af:commandButton text="#{viewcontrollerBundle.CANCEL}" id="cb7"
                                              actionListener="#{pageFlowScope.CustomersBean.onClickCancelCompPop}"
                                              immediate="true"/>
                        </af:toolbar>
                    </f:facet>
                    <af:panelFormLayout id="pfl1">
                        <af:inputText value="#{bindings.CompanyNumber.inputValue}"
                                      label="#{bindings.CompanyNumber.hints.label}"
                                      required="#{bindings.CompanyNumber.hints.mandatory}"
                                      columns="#{bindings.CompanyNumber.hints.displayWidth}"
                                      maximumLength="#{bindings.CompanyNumber.hints.precision}"
                                      shortDesc="#{bindings.CompanyNumber.hints.tooltip}" id="it1">
                            <f:validator binding="#{bindings.CompanyNumber.validator}"/>
                        </af:inputText>
                        <af:inputText value="#{bindings.CompanyName.inputValue}" label="#{bindings.CompanyName.hints.label}"
                                      required="#{bindings.CompanyName.hints.mandatory}"
                                      columns="#{bindings.CompanyName.hints.displayWidth}"
                                      maximumLength="#{bindings.CompanyName.hints.precision}"
                                      shortDesc="#{bindings.CompanyName.hints.tooltip}" id="it2">
                            <f:validator binding="#{bindings.CompanyName.validator}"/>
                        </af:inputText>
                        <af:selectOneChoice value="#{bindings.CompCategory.inputValue}"
                                            label="#{bindings.CompCategory.label}"
                                            required="#{bindings.CompCategory.hints.mandatory}"
                                            shortDesc="#{bindings.CompCategory.hints.tooltip}" id="soc3">
                            <f:selectItems value="#{bindings.CompCategory.items}" id="si3"/>
                        </af:selectOneChoice>
                        <af:selectOneChoice value="#{bindings.City.inputValue}" label="#{bindings.City.label}"
                                            required="#{bindings.City.hints.mandatory}"
                                            shortDesc="#{bindings.City.hints.tooltip}" id="soc4">
                            <f:selectItems value="#{bindings.City.items}" id="si4"/>
                        </af:selectOneChoice>
                        <af:inputText value="#{bindings.Tele1.inputValue}" label="#{bindings.Tele1.hints.label}"
                                      required="#{bindings.Tele1.hints.mandatory}"
                                      columns="#{bindings.Tele1.hints.displayWidth}"
                                      maximumLength="#{bindings.Tele1.hints.precision}"
                                      shortDesc="#{bindings.Tele1.hints.tooltip}" id="it3">
                            <f:validator binding="#{bindings.Tele1.validator}"/>
                        </af:inputText>
                        <af:inputText value="#{bindings.Tele2.inputValue}" label="#{bindings.Tele2.hints.label}"
                                      required="#{bindings.Tele2.hints.mandatory}"
                                      columns="#{bindings.Tele2.hints.displayWidth}"
                                      maximumLength="#{bindings.Tele2.hints.precision}"
                                      shortDesc="#{bindings.Tele2.hints.tooltip}" id="it4">
                            <f:validator binding="#{bindings.Tele2.validator}"/>
                        </af:inputText>
                        <af:inputText value="#{bindings.Fax.inputValue}" label="#{bindings.Fax.hints.label}"
                                      required="#{bindings.Fax.hints.mandatory}"
                                      columns="#{bindings.Fax.hints.displayWidth}"
                                      maximumLength="#{bindings.Fax.hints.precision}"
                                      shortDesc="#{bindings.Fax.hints.tooltip}" id="it5">
                            <f:validator binding="#{bindings.Fax.validator}"/>
                        </af:inputText>
                        <af:inputText value="#{bindings.Website.inputValue}" label="#{bindings.Website.hints.label}"
                                      required="#{bindings.Website.hints.mandatory}"
                                      columns="#{bindings.Website.hints.displayWidth}"
                                      maximumLength="#{bindings.Website.hints.precision}"
                                      shortDesc="#{bindings.Website.hints.tooltip}" id="it6">
                            <f:validator binding="#{bindings.Website.validator}"/>
                        </af:inputText>
                    </af:panelFormLayout>
                </af:dialog>
            </af:popup>

    Hi,
    can you try and add the af:resetActionListener tag to the cancel button ?
    http://docs.oracle.com/cd/E28280_01/apirefs.1111/e12419/tagdoc/af_resetActionListener.html
    Frank

  • IPhoto: strange behaviour with preview thumbnails

    Is there a simple way in iPhoto 8 to rebuild the thumbnail database?
    I recently noticed a strange behaviour iPhoto 8 has with previews: In some of my event categories, iPhoto does not display the correct preview thumbnail of the picture, but a preview thumbnail of another event. When I click on the thumbnail, it reloads the appropriate preview and it does not happen again - with that picture. Also, if I double click an event to open it, the small thumbnail of the event's key photo that is to be displayed in the title bar (next to the All Events button) is not always correct.
    Thank you for your help!
    Stefan

    I have similar problems (lately) with iPhoto 6.0.6 -- thumbnails do not equal the images they 'thumbnail' of.
    Sometimes when it opens, it (recently) asked me to rebuild the thumbnails, but not always.
    Can I force a thumbnail rebuild using the command you gave - Apple-option while opening iPhoto? In iPhoto 6.0.6 this primarily forces a new selection of a library.

Maybe you are looking for